#ifndef _LA_IR2_H_
#define _LA_IR2_H_

#include <stdint.h>
#include <stdbool.h>

/* Here are some old data from LAT (LoongArch Binary Translator) */

/**
 * TODO: Remove unrelated instructions
 */

/* IR2_OPCODE; */
typedef enum {
    /* LISA_INVALID = 128, */
    LISA_INVALID,
    LISA_ILL,
    LISA_LABEL,
    LISA_X86_INST,
    LISA_DUP,
    LISA_MOV64,
    LISA_MOV32_SX,
    LISA_MOV32_ZX,
    LISA_CLR_H32,
    LISA_ADD,
    LISA_SUB,
    LISA_ADDI_ADDRX,
    LISA_LOAD_ADDRX,
    LISA_STORE_ADDRX,
    LISA_GR2SCR,
    LISA_SCR2GR,
    LISA_CLO_W,
    LISA_CLZ_W,
    LISA_CTO_W,
    LISA_CTZ_W,
    LISA_CLO_D,
    LISA_CLZ_D,
    LISA_CTO_D,
    LISA_CTZ_D,
    LISA_REVB_2H,
    LISA_REVB_4H,
    LISA_REVB_2W,
    LISA_REVB_D,
    LISA_REVH_2W,
    LISA_REVH_D,
    LISA_BITREV_4B,
    LISA_BITREV_8B,
    LISA_BITREV_W,
    LISA_BITREV_D,
    LISA_EXT_W_H,
    LISA_EXT_W_B,
    LISA_RDTIMEL_W,
    LISA_RDTIMEH_W,
    LISA_RDTIME_D,
    LISA_CPUCFG,
    LISA_X86MTTOP,
    LISA_X86MFTOP,
    LISA_X86LOOPE,
    LISA_X86LOOPNE,
    LISA_X86INC_B,
    LISA_X86INC_H,
    LISA_X86INC_W,
    LISA_X86INC_D,
    LISA_X86DEC_B,
    LISA_X86DEC_H,
    LISA_X86DEC_W,
    LISA_X86DEC_D,
    LISA_X86SETTM,
    LISA_X86CLRTM,
    LISA_X86INCTOP,
    LISA_X86DECTOP,
    LISA_ASRTLE_D,
    LISA_ASRTGT_D,
    LISA_ALSL_W,
    LISA_ALSL_WU,
    LISA_BYTEPICK_W,
    LISA_BYTEPICK_D,
    LISA_ADD_W,
    LISA_ADD_D,
    LISA_SUB_W,
    LISA_SUB_D,
    LISA_SLT,
    LISA_SLTU,
    LISA_MASKEQZ,
    LISA_MASKNEZ,
    LISA_NOR,
    LISA_AND,
    LISA_OR,
    LISA_XOR,
    LISA_ORN,
    LISA_ANDN,
    LISA_SLL_W,
    LISA_SRL_W,
    LISA_SRA_W,
    LISA_SLL_D,
    LISA_SRL_D,
    LISA_SRA_D,
    LISA_ROTR_B,
    LISA_ROTR_H,
    LISA_ROTR_W,
    LISA_ROTR_D,
    LISA_MUL_W,
    LISA_MULH_W,
    LISA_MULH_WU,
    LISA_MUL_D,
    LISA_MULH_D,
    LISA_MULH_DU,
    LISA_MULW_D_W,
    LISA_MULW_D_WU,
    LISA_DIV_W,
    LISA_MOD_W,
    LISA_DIV_WU,
    LISA_MOD_WU,
    LISA_DIV_D,
    LISA_MOD_D,
    LISA_DIV_DU,
    LISA_MOD_DU,
    LISA_CRC_W_B_W,
    LISA_CRC_W_H_W,
    LISA_CRC_W_W_W,
    LISA_CRC_W_D_W,
    LISA_CRCC_W_B_W,
    LISA_CRCC_W_H_W,
    LISA_CRCC_W_W_W,
    LISA_CRCC_W_D_W,
    LISA_ADDU12I_W,
    LISA_ADDU12I_D,
    LISA_BREAK,
    LISA_DBGCALL,
    LISA_SYSCALL,
    LISA_HYPCALL,
    LISA_ALSL_D,
    LISA_ADC_B,
    LISA_ADC_H,
    LISA_ADC_W,
    LISA_ADC_D,
    LISA_SBC_B,
    LISA_SBC_H,
    LISA_SBC_W,
    LISA_SBC_D,
    LISA_RCR_B,
    LISA_RCR_H,
    LISA_RCR_W,
    LISA_RCR_D,
    LISA_ARMMOVE,
    LISA_SETX86J,
    LISA_SETARMJ,
    LISA_ARMADD_W,
    LISA_ARMSUB_W,
    LISA_ARMADC_W,
    LISA_ARMSBC_W,
    LISA_ARMAND_W,
    LISA_ARMOR_W,
    LISA_ARMXOR_W,
    LISA_ARMSLL_W,
    LISA_ARMSRL_W,
    LISA_ARMSRA_W,
    LISA_ARMROTR_W,
    LISA_ARMSLLI_W,
    LISA_ARMSRLI_W,
    LISA_ARMSRAI_W,
    LISA_ARMROTRI_W,
    LISA_X86MUL_B,
    LISA_X86MUL_H,
    LISA_X86MUL_W,
    LISA_X86MUL_D,
    LISA_X86MUL_BU,
    LISA_X86MUL_HU,
    LISA_X86MUL_WU,
    LISA_X86MUL_DU,
    LISA_X86ADD_WU,
    LISA_X86ADD_DU,
    LISA_X86SUB_WU,
    LISA_X86SUB_DU,
    LISA_X86ADD_B,
    LISA_X86ADD_H,
    LISA_X86ADD_W,
    LISA_X86ADD_D,
    LISA_X86SUB_B,
    LISA_X86SUB_H,
    LISA_X86SUB_W,
    LISA_X86SUB_D,
    LISA_X86ADC_B,
    LISA_X86ADC_H,
    LISA_X86ADC_W,
    LISA_X86ADC_D,
    LISA_X86SBC_B,
    LISA_X86SBC_H,
    LISA_X86SBC_W,
    LISA_X86SBC_D,
    LISA_X86SLL_B,
    LISA_X86SLL_H,
    LISA_X86SLL_W,
    LISA_X86SLL_D,
    LISA_X86SRL_B,
    LISA_X86SRL_H,
    LISA_X86SRL_W,
    LISA_X86SRL_D,
    LISA_X86SRA_B,
    LISA_X86SRA_H,
    LISA_X86SRA_W,
    LISA_X86SRA_D,
    LISA_X86ROTR_B,
    LISA_X86ROTR_H,
    LISA_X86ROTR_D,
    LISA_X86ROTR_W,
    LISA_X86ROTL_B,
    LISA_X86ROTL_H,
    LISA_X86ROTL_W,
    LISA_X86ROTL_D,
    LISA_X86RCR_B,
    LISA_X86RCR_H,
    LISA_X86RCR_W,
    LISA_X86RCR_D,
    LISA_X86RCL_B,
    LISA_X86RCL_H,
    LISA_X86RCL_W,
    LISA_X86RCL_D,
    LISA_X86AND_B,
    LISA_X86AND_H,
    LISA_X86AND_W,
    LISA_X86AND_D,
    LISA_X86OR_B,
    LISA_X86OR_H,
    LISA_X86OR_W,
    LISA_X86OR_D,
    LISA_X86XOR_B,
    LISA_X86XOR_H,
    LISA_X86XOR_W,
    LISA_X86XOR_D,
    LISA_ARMNOT_W,
    LISA_ARMMOV_W,
    LISA_ARMMOV_D,
    LISA_ARMRRX_W,
    LISA_SLLI_W,
    LISA_SLLI_D,
    LISA_SRLI_W,
    LISA_SRLI_D,
    LISA_SRAI_W,
    LISA_SRAI_D,
    LISA_ROTRI_B,
    LISA_ROTRI_H,
    LISA_ROTRI_W,
    LISA_ROTRI_D,
    LISA_RCRI_B,
    LISA_RCRI_H,
    LISA_RCRI_W,
    LISA_RCRI_D,
    LISA_X86SLLI_B,
    LISA_X86SLLI_H,
    LISA_X86SLLI_W,
    LISA_X86SLLI_D,
    LISA_X86SRLI_B,
    LISA_X86SRLI_H,
    LISA_X86SRLI_W,
    LISA_X86SRLI_D,
    LISA_X86SRAI_B,
    LISA_X86SRAI_H,
    LISA_X86SRAI_W,
    LISA_X86SRAI_D,
    LISA_X86ROTRI_B,
    LISA_X86ROTRI_H,
    LISA_X86ROTRI_W,
    LISA_X86ROTRI_D,
    LISA_X86RCRI_B,
    LISA_X86RCRI_H,
    LISA_X86RCRI_W,
    LISA_X86RCRI_D,
    LISA_X86ROTLI_B,
    LISA_X86ROTLI_H,
    LISA_X86ROTLI_W,
    LISA_X86ROTLI_D,
    LISA_X86RCLI_B,
    LISA_X86RCLI_H,
    LISA_X86RCLI_W,
    LISA_X86RCLI_D,
    LISA_X86SETTAG,
    LISA_X86MFFLAG,
    LISA_X86MTFLAG,
    LISA_ARMMFFLAG,
    LISA_ARMMTFLAG,
    LISA_BSTRINS_W,
    LISA_BSTRPICK_W,
    LISA_BSTRINS_D,
    LISA_BSTRPICK_D,
    LISA_SLTI,
    LISA_SLTUI,
    LISA_ADDI_W,
    LISA_ADDI_D,
    LISA_LU52I_D,
    LISA_ANDI,
    LISA_ORI,
    LISA_XORI,
    LISA_ADDU16I_D,
    LISA_LU12I_W,
    LISA_LU32I_D,
    LISA_PCADDI,
    LISA_PCALAU12I,
    LISA_PCADDU12I,
    LISA_PCADDU18I,
    LISA_LL_W,
    LISA_SC_W,
    LISA_LL_D,
    LISA_SC_D,
    LISA_LDPTR_W,
    LISA_STPTR_W,
    LISA_LDPTR_D,
    LISA_STPTR_D,
    LISA_LD_B,
    LISA_LD_H,
    LISA_LD_W,
    LISA_LD_D,
    LISA_ST_B,
    LISA_ST_H,
    LISA_ST_W,
    LISA_ST_D,
    LISA_LD_BU,
    LISA_LD_HU,
    LISA_LD_WU,
    LISA_PRELD,
    LISA_FLD_S,
    LISA_FST_S,
    LISA_FLD_D,
    LISA_FST_D,
    LISA_VLD,
    LISA_VST,
    LISA_XVLD,
    LISA_XVST,
    LISA_LDL_W,
    LISA_LDR_W,
    LISA_LDL_D,
    LISA_LDR_D,
    LISA_STL_W,
    LISA_STR_W,
    LISA_STL_D,
    LISA_STR_D,
    LISA_VLDREPL_D,
    LISA_VLDREPL_W,
    LISA_VLDREPL_H,
    LISA_VLDREPL_B,
    LISA_VSTELM_D,
    LISA_VSTELM_W,
    LISA_VSTELM_H,
    LISA_VSTELM_B,
    LISA_XVLDREPL_D,
    LISA_XVLDREPL_W,
    LISA_XVLDREPL_H,
    LISA_XVLDREPL_B,
    LISA_XVSTELM_D,
    LISA_XVSTELM_W,
    LISA_XVSTELM_H,
    LISA_XVSTELM_B,
    LISA_LDX_B,
    LISA_LDX_H,
    LISA_LDX_W,
    LISA_LDX_D,
    LISA_STX_B,
    LISA_STX_H,
    LISA_STX_W,
    LISA_STX_D,
    LISA_LDX_BU,
    LISA_LDX_HU,
    LISA_LDX_WU,
    LISA_PRELDX,
    LISA_FLDX_S,
    LISA_FLDX_D,
    LISA_FSTX_S,
    LISA_FSTX_D,
    LISA_VLDX,
    LISA_VSTX,
    LISA_XVLDX,
    LISA_XVSTX,
    LISA_AMSWAP_W,
    LISA_AMSWAP_D,
    LISA_AMADD_W,
    LISA_AMADD_D,
    LISA_AMAND_W,
    LISA_AMAND_D,
    LISA_AMOR_W,
    LISA_AMOR_D,
    LISA_AMXOR_W,
    LISA_AMXOR_D,
    LISA_AMMAX_W,
    LISA_AMMAX_D,
    LISA_AMMIN_W,
    LISA_AMMIN_D,
    LISA_AMMAX_WU,
    LISA_AMMAX_DU,
    LISA_AMMIN_WU,
    LISA_AMMIN_DU,
    LISA_AMSWAP_DB_W,
    LISA_AMSWAP_DB_D,
    LISA_AMADD_DB_W,
    LISA_AMADD_DB_D,
    LISA_AMAND_DB_W,
    LISA_AMAND_DB_D,
    LISA_AMOR_DB_W,
    LISA_AMOR_DB_D,
    LISA_AMXOR_DB_W,
    LISA_AMXOR_DB_D,
    LISA_AMMAX_DB_W,
    LISA_AMMAX_DB_D,
    LISA_AMMIN_DB_W,
    LISA_AMMIN_DB_D,
    LISA_AMMAX_DB_WU,
    LISA_AMMAX_DB_DU,
    LISA_AMMIN_DB_WU,
    LISA_AMMIN_DB_DU,
    LISA_DBAR,
    LISA_IBAR,
    LISA_FLDGT_S,
    LISA_FLDGT_D,
    LISA_FLDLE_S,
    LISA_FLDLE_D,
    LISA_FSTGT_S,
    LISA_FSTGT_D,
    LISA_FSTLE_S,
    LISA_FSTLE_D,
    LISA_LDGT_B,
    LISA_LDGT_H,
    LISA_LDGT_W,
    LISA_LDGT_D,
    LISA_LDLE_B,
    LISA_LDLE_H,
    LISA_LDLE_W,
    LISA_LDLE_D,
    LISA_STGT_B,
    LISA_STGT_H,
    LISA_STGT_W,
    LISA_STGT_D,
    LISA_STLE_B,
    LISA_STLE_H,
    LISA_STLE_W,
    LISA_STLE_D,
    LISA_BEQZ,
    LISA_BNEZ,
    LISA_BCEQZ,
    LISA_BCNEZ,
    LISA_JISCR0,
    LISA_JISCR1,
    LISA_JIRL,
    LISA_B,
    LISA_BL,
    LISA_BEQ,
    LISA_BNE,
    LISA_BLT,
    LISA_BGE,
    LISA_BLTU,
    LISA_BGEU,
    LISA_FADD_S,
    LISA_FADD_D,
    LISA_FSUB_S,
    LISA_FSUB_D,
    LISA_FMUL_S,
    LISA_FMUL_D,
    LISA_FDIV_S,
    LISA_FDIV_D,
    LISA_FMAX_S,
    LISA_FMAX_D,
    LISA_FMIN_S,
    LISA_FMIN_D,
    LISA_FMAXA_S,
    LISA_FMAXA_D,
    LISA_FMINA_S,
    LISA_FMINA_D,
    LISA_FSCALEB_S,
    LISA_FSCALEB_D,
    LISA_FCOPYSIGN_S,
    LISA_FCOPYSIGN_D,
    LISA_FABS_S,
    LISA_FABS_D,
    LISA_FNEG_S,
    LISA_FNEG_D,
    LISA_FLOGB_S,
    LISA_FLOGB_D,
    LISA_FCLASS_S,
    LISA_FCLASS_D,
    LISA_FSQRT_S,
    LISA_FSQRT_D,
    LISA_FRECIP_S,
    LISA_FRECIP_D,
    LISA_FRSQRT_S,
    LISA_FRSQRT_D,
    LISA_FMOV_S,
    LISA_FMOV_D,
    LISA_MOVGR2FR_W,
    LISA_MOVGR2FR_D,
    LISA_MOVGR2FRH_W,
    LISA_MOVFR2GR_S,
    LISA_MOVFR2GR_D,
    LISA_MOVFRH2GR_S,
    LISA_MOVGR2FCSR,
    LISA_MOVFCSR2GR,
    LISA_MOVFR2CF,
    LISA_MOVCF2FR,
    LISA_MOVGR2CF,
    LISA_MOVCF2GR,
    LISA_FCVT_LD_D,
    LISA_FCVT_UD_D,
    LISA_FCVT_D_LD,
    LISA_FCVT_S_D,
    LISA_FCVT_D_S,
    LISA_FTINTRM_W_S,
    LISA_FTINTRM_W_D,
    LISA_FTINTRM_L_S,
    LISA_FTINTRM_L_D,
    LISA_FTINTRP_W_S,
    LISA_FTINTRP_W_D,
    LISA_FTINTRP_L_S,
    LISA_FTINTRP_L_D,
    LISA_FTINTRZ_W_S,
    LISA_FTINTRZ_W_D,
    LISA_FTINTRZ_L_S,
    LISA_FTINTRZ_L_D,
    LISA_FTINTRNE_W_S,
    LISA_FTINTRNE_W_D,
    LISA_FTINTRNE_L_S,
    LISA_FTINTRNE_L_D,
    LISA_FTINT_W_S,
    LISA_FTINT_W_D,
    LISA_FTINT_L_S,
    LISA_FTINT_L_D,
    LISA_FFINT_S_W,
    LISA_FFINT_S_L,
    LISA_FFINT_D_W,
    LISA_FFINT_D_L,
    LISA_FRINT_S,
    LISA_FRINT_D,
    LISA_FMADD_S,
    LISA_FMADD_D,
    LISA_FMSUB_S,
    LISA_FMSUB_D,
    LISA_FNMADD_S,
    LISA_FNMADD_D,
    LISA_FNMSUB_S,
    LISA_FNMSUB_D,
    LISA_VFMADD_S,
    LISA_VFMADD_D,
    LISA_VFMSUB_S,
    LISA_VFMSUB_D,
    LISA_VFNMADD_S,
    LISA_VFNMADD_D,
    LISA_VFNMSUB_S,
    LISA_VFNMSUB_D,
    LISA_XVFMADD_S,
    LISA_XVFMADD_D,
    LISA_XVFMSUB_S,
    LISA_XVFMSUB_D,
    LISA_XVFNMADD_S,
    LISA_XVFNMADD_D,
    LISA_XVFNMSUB_S,
    LISA_XVFNMSUB_D,
    LISA_FCMP_COND_S,
    LISA_FCMP_COND_D,
    LISA_VFCMP_COND_S,
    LISA_VFCMP_COND_D,
    LISA_XVFCMP_COND_S,
    LISA_XVFCMP_COND_D,
    LISA_FSEL,
    LISA_VBITSEL_V,
    LISA_XVBITSEL_V,
    LISA_VSHUF_B,
    LISA_XVSHUF_B,
    LISA_VEXTR_V,
    LISA_XVEXTR_V,
    LISA_VFMADDSUB_S,
    LISA_VFMADDSUB_D,
    LISA_VFMSUBADD_S,
    LISA_VFMSUBADD_D,
    LISA_XVFMADDSUB_S,
    LISA_XVFMADDSUB_D,
    LISA_XVFMSUBADD_S,
    LISA_XVFMSUBADD_D,
    LISA_VSEQ_B,
    LISA_VSEQ_H,
    LISA_VSEQ_W,
    LISA_VSEQ_D,
    LISA_VSLE_B,
    LISA_VSLE_H,
    LISA_VSLE_W,
    LISA_VSLE_D,
    LISA_VSLE_BU,
    LISA_VSLE_HU,
    LISA_VSLE_WU,
    LISA_VSLE_DU,
    LISA_VSLT_B,
    LISA_VSLT_H,
    LISA_VSLT_W,
    LISA_VSLT_D,
    LISA_VSLT_BU,
    LISA_VSLT_HU,
    LISA_VSLT_WU,
    LISA_VSLT_DU,
    LISA_VADD_B,
    LISA_VADD_H,
    LISA_VADD_W,
    LISA_VADD_D,
    LISA_VSUB_B,
    LISA_VSUB_H,
    LISA_VSUB_W,
    LISA_VSUB_D,
    LISA_VADDW_H_H_B,
    LISA_VADDW_W_W_H,
    LISA_VADDW_D_D_W,
    LISA_VADDW_H_H_BU,
    LISA_VADDW_W_W_HU,
    LISA_VADDW_D_D_WU,
    LISA_VSUBW_H_H_B,
    LISA_VSUBW_W_W_H,
    LISA_VSUBW_D_D_W,
    LISA_VSUBW_H_H_BU,
    LISA_VSUBW_W_W_HU,
    LISA_VSUBW_D_D_WU,
    LISA_VSADDW_H_H_B,
    LISA_VSADDW_W_W_H,
    LISA_VSADDW_D_D_W,
    LISA_VSADDW_HU_HU_BU,
    LISA_VSADDW_WU_WU_HU,
    LISA_VSADDW_DU_DU_WU,
    LISA_VSSUBW_H_H_B,
    LISA_VSSUBW_W_W_H,
    LISA_VSSUBW_D_D_W,
    LISA_VSSUBW_HU_HU_BU,
    LISA_VSSUBW_WU_WU_HU,
    LISA_VSSUBW_DU_DU_WU,
    LISA_VADDWEV_H_B,
    LISA_VADDWEV_W_H,
    LISA_VADDWEV_D_W,
    LISA_VADDWEV_Q_D,
    LISA_VSUBWEV_H_B,
    LISA_VSUBWEV_W_H,
    LISA_VSUBWEV_D_W,
    LISA_VSUBWEV_Q_D,
    LISA_VADDWOD_H_B,
    LISA_VADDWOD_W_H,
    LISA_VADDWOD_D_W,
    LISA_VADDWOD_Q_D,
    LISA_VSUBWOD_H_B,
    LISA_VSUBWOD_W_H,
    LISA_VSUBWOD_D_W,
    LISA_VSUBWOD_Q_D,
    LISA_VADDWL_H_B,
    LISA_VADDWL_W_H,
    LISA_VADDWL_D_W,
    LISA_VADDWL_Q_D,
    LISA_VSUBWL_H_B,
    LISA_VSUBWL_W_H,
    LISA_VSUBWL_D_W,
    LISA_VSUBWL_Q_D,
    LISA_VADDWH_H_B,
    LISA_VADDWH_W_H,
    LISA_VADDWH_D_W,
    LISA_VADDWH_Q_D,
    LISA_VSUBWH_H_B,
    LISA_VSUBWH_W_H,
    LISA_VSUBWH_D_W,
    LISA_VSUBWH_Q_D,
    LISA_VADDWEV_H_BU,
    LISA_VADDWEV_W_HU,
    LISA_VADDWEV_D_WU,
    LISA_VADDWEV_Q_DU,
    LISA_VSUBWEV_H_BU,
    LISA_VSUBWEV_W_HU,
    LISA_VSUBWEV_D_WU,
    LISA_VSUBWEV_Q_DU,
    LISA_VADDWOD_H_BU,
    LISA_VADDWOD_W_HU,
    LISA_VADDWOD_D_WU,
    LISA_VADDWOD_Q_DU,
    LISA_VSUBWOD_H_BU,
    LISA_VSUBWOD_W_HU,
    LISA_VSUBWOD_D_WU,
    LISA_VSUBWOD_Q_DU,
    LISA_VADDWL_H_BU,
    LISA_VADDWL_W_HU,
    LISA_VADDWL_D_WU,
    LISA_VADDWL_Q_DU,
    LISA_VSUBWL_H_BU,
    LISA_VSUBWL_W_HU,
    LISA_VSUBWL_D_WU,
    LISA_VSUBWL_Q_DU,
    LISA_VADDWH_H_BU,
    LISA_VADDWH_W_HU,
    LISA_VADDWH_D_WU,
    LISA_VADDWH_Q_DU,
    LISA_VSUBWH_H_BU,
    LISA_VSUBWH_W_HU,
    LISA_VSUBWH_D_WU,
    LISA_VSUBWH_Q_DU,
    LISA_VADDWEV_H_BU_B,
    LISA_VADDWEV_W_HU_H,
    LISA_VADDWEV_D_WU_W,
    LISA_VADDWEV_Q_DU_D,
    LISA_VADDWOD_H_BU_B,
    LISA_VADDWOD_W_HU_H,
    LISA_VADDWOD_D_WU_W,
    LISA_VADDWOD_Q_DU_D,
    LISA_VADDWL_H_BU_B,
    LISA_VADDWL_W_HU_H,
    LISA_VADDWL_D_WU_W,
    LISA_VADDWL_Q_DU_D,
    LISA_VADDWH_H_BU_B,
    LISA_VADDWH_W_HU_H,
    LISA_VADDWH_D_WU_W,
    LISA_VADDWH_Q_DU_D,
    LISA_VSADD_B,
    LISA_VSADD_H,
    LISA_VSADD_W,
    LISA_VSADD_D,
    LISA_VSSUB_B,
    LISA_VSSUB_H,
    LISA_VSSUB_W,
    LISA_VSSUB_D,
    LISA_VSADD_BU,
    LISA_VSADD_HU,
    LISA_VSADD_WU,
    LISA_VSADD_DU,
    LISA_VSSUB_BU,
    LISA_VSSUB_HU,
    LISA_VSSUB_WU,
    LISA_VSSUB_DU,
    LISA_VSSUB_BU_BU_B,
    LISA_VSSUB_HU_HU_H,
    LISA_VSSUB_WU_WU_W,
    LISA_VSSUB_DU_DU_D,
    LISA_VSSUB_BU_B_BU,
    LISA_VSSUB_HU_H_HU,
    LISA_VSSUB_WU_W_WU,
    LISA_VSSUB_DU_D_DU,
    LISA_VSSUB_B_BU_BU,
    LISA_VSSUB_H_HU_HU,
    LISA_VSSUB_W_WU_WU,
    LISA_VSSUB_D_DU_DU,
    LISA_VHADDW_H_B,
    LISA_VHADDW_W_H,
    LISA_VHADDW_D_W,
    LISA_VHADDW_Q_D,
    LISA_VHSUBW_H_B,
    LISA_VHSUBW_W_H,
    LISA_VHSUBW_D_W,
    LISA_VHSUBW_Q_D,
    LISA_VHADDW_HU_BU,
    LISA_VHADDW_WU_HU,
    LISA_VHADDW_DU_WU,
    LISA_VHADDW_QU_DU,
    LISA_VHSUBW_HU_BU,
    LISA_VHSUBW_WU_HU,
    LISA_VHSUBW_DU_WU,
    LISA_VHSUBW_QU_DU,
    LISA_VADDA_B,
    LISA_VADDA_H,
    LISA_VADDA_W,
    LISA_VADDA_D,
    LISA_VSADDA_B,
    LISA_VSADDA_H,
    LISA_VSADDA_W,
    LISA_VSADDA_D,
    LISA_VABSD_B,
    LISA_VABSD_H,
    LISA_VABSD_W,
    LISA_VABSD_D,
    LISA_VABSD_BU,
    LISA_VABSD_HU,
    LISA_VABSD_WU,
    LISA_VABSD_DU,
    LISA_VAVG_B,
    LISA_VAVG_H,
    LISA_VAVG_W,
    LISA_VAVG_D,
    LISA_VAVG_BU,
    LISA_VAVG_HU,
    LISA_VAVG_WU,
    LISA_VAVG_DU,
    LISA_VAVGR_B,
    LISA_VAVGR_H,
    LISA_VAVGR_W,
    LISA_VAVGR_D,
    LISA_VAVGR_BU,
    LISA_VAVGR_HU,
    LISA_VAVGR_WU,
    LISA_VAVGR_DU,
    LISA_VHALFD_B,
    LISA_VHALFD_H,
    LISA_VHALFD_W,
    LISA_VHALFD_D,
    LISA_VHALFD_BU,
    LISA_VHALFD_HU,
    LISA_VHALFD_WU,
    LISA_VHALFD_DU,
    LISA_VMAX_B,
    LISA_VMAX_H,
    LISA_VMAX_W,
    LISA_VMAX_D,
    LISA_VMIN_B,
    LISA_VMIN_H,
    LISA_VMIN_W,
    LISA_VMIN_D,
    LISA_VMAX_BU,
    LISA_VMAX_HU,
    LISA_VMAX_WU,
    LISA_VMAX_DU,
    LISA_VMIN_BU,
    LISA_VMIN_HU,
    LISA_VMIN_WU,
    LISA_VMIN_DU,
    LISA_VMAXA_B,
    LISA_VMAXA_H,
    LISA_VMAXA_W,
    LISA_VMAXA_D,
    LISA_VMINA_B,
    LISA_VMINA_H,
    LISA_VMINA_W,
    LISA_VMINA_D,
    LISA_VSADW_H_B,
    LISA_VSADW_W_H,
    LISA_VSADW_D_W,
    LISA_VSADW_H_BU,
    LISA_VSADW_W_HU,
    LISA_VSADW_D_WU,
    LISA_VACCSADW_H_B,
    LISA_VACCSADW_W_H,
    LISA_VACCSADW_D_W,
    LISA_VACCSADW_H_BU,
    LISA_VACCSADW_W_HU,
    LISA_VACCSADW_D_WU,
    LISA_VMUL_B,
    LISA_VMUL_H,
    LISA_VMUL_W,
    LISA_VMUL_D,
    LISA_VMUH_B,
    LISA_VMUH_H,
    LISA_VMUH_W,
    LISA_VMUH_D,
    LISA_VMUH_BU,
    LISA_VMUH_HU,
    LISA_VMUH_WU,
    LISA_VMUH_DU,
    LISA_VMUH_BU_B,
    LISA_VMUH_HU_H,
    LISA_VMUH_WU_W,
    LISA_VMUH_DU_D,
    LISA_VMULXW_H_B,
    LISA_VMULXW_W_H,
    LISA_VMULXW_D_W,
    LISA_VMULXW_H_BU,
    LISA_VMULXW_W_HU,
    LISA_VMULXW_D_WU,
    LISA_VMULWEV_H_B,
    LISA_VMULWEV_W_H,
    LISA_VMULWEV_D_W,
    LISA_VMULWEV_Q_D,
    LISA_VMULWOD_H_B,
    LISA_VMULWOD_W_H,
    LISA_VMULWOD_D_W,
    LISA_VMULWOD_Q_D,
    LISA_VMULWL_H_B,
    LISA_VMULWL_W_H,
    LISA_VMULWL_D_W,
    LISA_VMULWL_Q_D,
    LISA_VMULWH_H_B,
    LISA_VMULWH_W_H,
    LISA_VMULWH_D_W,
    LISA_VMULWH_Q_D,
    LISA_VMULWEV_H_BU,
    LISA_VMULWEV_W_HU,
    LISA_VMULWEV_D_WU,
    LISA_VMULWEV_Q_DU,
    LISA_VMULWOD_H_BU,
    LISA_VMULWOD_W_HU,
    LISA_VMULWOD_D_WU,
    LISA_VMULWOD_Q_DU,
    LISA_VMULWL_H_BU,
    LISA_VMULWL_W_HU,
    LISA_VMULWL_D_WU,
    LISA_VMULWL_Q_DU,
    LISA_VMULWH_H_BU,
    LISA_VMULWH_W_HU,
    LISA_VMULWH_D_WU,
    LISA_VMULWH_Q_DU,
    LISA_VMULWEV_H_BU_B,
    LISA_VMULWEV_W_HU_H,
    LISA_VMULWEV_D_WU_W,
    LISA_VMULWEV_Q_DU_D,
    LISA_VMULWOD_H_BU_B,
    LISA_VMULWOD_W_HU_H,
    LISA_VMULWOD_D_WU_W,
    LISA_VMULWOD_Q_DU_D,
    LISA_VMULWL_H_BU_B,
    LISA_VMULWL_W_HU_H,
    LISA_VMULWL_D_WU_W,
    LISA_VMULWL_Q_DU_D,
    LISA_VMULWH_H_BU_B,
    LISA_VMULWH_W_HU_H,
    LISA_VMULWH_D_WU_W,
    LISA_VMULWH_Q_DU_D,
    LISA_VMADD_B,
    LISA_VMADD_H,
    LISA_VMADD_W,
    LISA_VMADD_D,
    LISA_VMSUB_B,
    LISA_VMSUB_H,
    LISA_VMSUB_W,
    LISA_VMSUB_D,
    LISA_VMADDWEV_H_B,
    LISA_VMADDWEV_W_H,
    LISA_VMADDWEV_D_W,
    LISA_VMADDWEV_Q_D,
    LISA_VMADDWOD_H_B,
    LISA_VMADDWOD_W_H,
    LISA_VMADDWOD_D_W,
    LISA_VMADDWOD_Q_D,
    LISA_VMADDWL_H_B,
    LISA_VMADDWL_W_H,
    LISA_VMADDWL_D_W,
    LISA_VMADDWL_Q_D,
    LISA_VMADDWH_H_B,
    LISA_VMADDWH_W_H,
    LISA_VMADDWH_D_W,
    LISA_VMADDWH_Q_D,
    LISA_VMADDWEV_H_BU,
    LISA_VMADDWEV_W_HU,
    LISA_VMADDWEV_D_WU,
    LISA_VMADDWEV_Q_DU,
    LISA_VMADDWOD_H_BU,
    LISA_VMADDWOD_W_HU,
    LISA_VMADDWOD_D_WU,
    LISA_VMADDWOD_Q_DU,
    LISA_VMADDWL_H_BU,
    LISA_VMADDWL_W_HU,
    LISA_VMADDWL_D_WU,
    LISA_VMADDWL_Q_DU,
    LISA_VMADDWH_H_BU,
    LISA_VMADDWH_W_HU,
    LISA_VMADDWH_D_WU,
    LISA_VMADDWH_Q_DU,
    LISA_VMADDWEV_H_BU_B,
    LISA_VMADDWEV_W_HU_H,
    LISA_VMADDWEV_D_WU_W,
    LISA_VMADDWEV_Q_DU_D,
    LISA_VMADDWOD_H_BU_B,
    LISA_VMADDWOD_W_HU_H,
    LISA_VMADDWOD_D_WU_W,
    LISA_VMADDWOD_Q_DU_D,
    LISA_VMADDWL_H_BU_B,
    LISA_VMADDWL_W_HU_H,
    LISA_VMADDWL_D_WU_W,
    LISA_VMADDWL_Q_DU_D,
    LISA_VMADDWH_H_BU_B,
    LISA_VMADDWH_W_HU_H,
    LISA_VMADDWH_D_WU_W,
    LISA_VMADDWH_Q_DU_D,
    LISA_VDP2_H_B,
    LISA_VDP2_W_H,
    LISA_VDP2_D_W,
    LISA_VDP2_Q_D,
    LISA_VDP2_HU_BU,
    LISA_VDP2_WU_HU,
    LISA_VDP2_DU_WU,
    LISA_VDP2_QU_DU,
    LISA_VDP2_H_BU_B,
    LISA_VDP2_W_HU_H,
    LISA_VDP2_D_WU_W,
    LISA_VDP2_Q_DU_D,
    LISA_VDP2ADD_H_B,
    LISA_VDP2ADD_W_H,
    LISA_VDP2ADD_D_W,
    LISA_VDP2ADD_Q_D,
    LISA_VDP2ADD_H_BU,
    LISA_VDP2ADD_W_HU,
    LISA_VDP2ADD_D_WU,
    LISA_VDP2ADD_Q_DU,
    LISA_VDP2ADD_H_BU_B,
    LISA_VDP2ADD_W_HU_H,
    LISA_VDP2ADD_D_WU_W,
    LISA_VDP2ADD_Q_DU_D,
    LISA_VDP2SUB_H_B,
    LISA_VDP2SUB_W_H,
    LISA_VDP2SUB_D_W,
    LISA_VDP2SUB_Q_D,
    LISA_VDP2SUB_H_BU,
    LISA_VDP2SUB_W_HU,
    LISA_VDP2SUB_D_WU,
    LISA_VDP2SUB_Q_DU,
    LISA_VDP4_W_B,
    LISA_VDP4_D_H,
    LISA_VDP4_Q_W,
    LISA_VDP4_W_BU,
    LISA_VDP4_D_HU,
    LISA_VDP4_Q_WU,
    LISA_VDP4_W_BU_B,
    LISA_VDP4_D_HU_H,
    LISA_VDP4_Q_WU_W,
    LISA_VDP4ADD_W_B,
    LISA_VDP4ADD_D_H,
    LISA_VDP4ADD_Q_W,
    LISA_VDP4ADD_W_BU,
    LISA_VDP4ADD_D_HU,
    LISA_VDP4ADD_Q_WU,
    LISA_VDP4ADD_W_BU_B,
    LISA_VDP4ADD_D_HU_H,
    LISA_VDP4ADD_Q_WU_W,
    LISA_VDIV_B,
    LISA_VDIV_H,
    LISA_VDIV_W,
    LISA_VDIV_D,
    LISA_VMOD_B,
    LISA_VMOD_H,
    LISA_VMOD_W,
    LISA_VMOD_D,
    LISA_VDIV_BU,
    LISA_VDIV_HU,
    LISA_VDIV_WU,
    LISA_VDIV_DU,
    LISA_VMOD_BU,
    LISA_VMOD_HU,
    LISA_VMOD_WU,
    LISA_VMOD_DU,
    LISA_VSLL_B,
    LISA_VSLL_H,
    LISA_VSLL_W,
    LISA_VSLL_D,
    LISA_VSRL_B,
    LISA_VSRL_H,
    LISA_VSRL_W,
    LISA_VSRL_D,
    LISA_VSRA_B,
    LISA_VSRA_H,
    LISA_VSRA_W,
    LISA_VSRA_D,
    LISA_VROTR_B,
    LISA_VROTR_H,
    LISA_VROTR_W,
    LISA_VROTR_D,
    LISA_VSRLR_B,
    LISA_VSRLR_H,
    LISA_VSRLR_W,
    LISA_VSRLR_D,
    LISA_VSRAR_B,
    LISA_VSRAR_H,
    LISA_VSRAR_W,
    LISA_VSRAR_D,
    LISA_VSRLN_B_H,
    LISA_VSRLN_H_W,
    LISA_VSRLN_W_D,
    LISA_VSRAN_B_H,
    LISA_VSRAN_H_W,
    LISA_VSRAN_W_D,
    LISA_VSRLRN_B_H,
    LISA_VSRLRN_H_W,
    LISA_VSRLRN_W_D,
    LISA_VSRARN_B_H,
    LISA_VSRARN_H_W,
    LISA_VSRARN_W_D,
    LISA_VSSRLN_B_H,
    LISA_VSSRLN_H_W,
    LISA_VSSRLN_W_D,
    LISA_VSSRAN_B_H,
    LISA_VSSRAN_H_W,
    LISA_VSSRAN_W_D,
    LISA_VSSRLRN_B_H,
    LISA_VSSRLRN_H_W,
    LISA_VSSRLRN_W_D,
    LISA_VSSRARN_B_H,
    LISA_VSSRARN_H_W,
    LISA_VSSRARN_W_D,
    LISA_VSSRLN_BU_H,
    LISA_VSSRLN_HU_W,
    LISA_VSSRLN_WU_D,
    LISA_VSSRAN_BU_H,
    LISA_VSSRAN_HU_W,
    LISA_VSSRAN_WU_D,
    LISA_VSSRLRN_BU_H,
    LISA_VSSRLRN_HU_W,
    LISA_VSSRLRN_WU_D,
    LISA_VSSRARN_BU_H,
    LISA_VSSRARN_HU_W,
    LISA_VSSRARN_WU_D,
    LISA_VBITCLR_B,
    LISA_VBITCLR_H,
    LISA_VBITCLR_W,
    LISA_VBITCLR_D,
    LISA_VBITSET_B,
    LISA_VBITSET_H,
    LISA_VBITSET_W,
    LISA_VBITSET_D,
    LISA_VBITREV_B,
    LISA_VBITREV_H,
    LISA_VBITREV_W,
    LISA_VBITREV_D,
    LISA_VBSTRC12_B,
    LISA_VBSTRC12_H,
    LISA_VBSTRC12_W,
    LISA_VBSTRC12_D,
    LISA_VBSTRC21_B,
    LISA_VBSTRC21_H,
    LISA_VBSTRC21_W,
    LISA_VBSTRC21_D,
    LISA_VPACKEV_B,
    LISA_VPACKEV_H,
    LISA_VPACKEV_W,
    LISA_VPACKEV_D,
    LISA_VPACKOD_B,
    LISA_VPACKOD_H,
    LISA_VPACKOD_W,
    LISA_VPACKOD_D,
    LISA_VILVL_B,
    LISA_VILVL_H,
    LISA_VILVL_W,
    LISA_VILVL_D,
    LISA_VILVH_B,
    LISA_VILVH_H,
    LISA_VILVH_W,
    LISA_VILVH_D,
    LISA_VPICKEV_B,
    LISA_VPICKEV_H,
    LISA_VPICKEV_W,
    LISA_VPICKEV_D,
    LISA_VPICKOD_B,
    LISA_VPICKOD_H,
    LISA_VPICKOD_W,
    LISA_VPICKOD_D,
    LISA_VREPLVE_B,
    LISA_VREPLVE_H,
    LISA_VREPLVE_W,
    LISA_VREPLVE_D,
    LISA_VEXTRCOL_B,
    LISA_VEXTRCOL_H,
    LISA_VEXTRCOL_W,
    LISA_VEXTRCOL_D,
    LISA_VAND_V,
    LISA_VOR_V,
    LISA_VXOR_V,
    LISA_VNOR_V,
    LISA_VANDN_V,
    LISA_VORN_V,
    LISA_VRANDSIGN_B,
    LISA_VRANDSIGN_H,
    LISA_VRORSIGN_B,
    LISA_VRORSIGN_H,
    LISA_VFRSTP_B,
    LISA_VFRSTP_H,
    LISA_VCLRSTRR_V,
    LISA_VCLRSTRV_V,
    LISA_VADD_Q,
    LISA_VSUB_Q,
    LISA_VSIGNCOV_B,
    LISA_VSIGNCOV_H,
    LISA_VSIGNCOV_W,
    LISA_VSIGNCOV_D,
    LISA_VFADD_S,
    LISA_VFADD_D,
    LISA_VFSUB_S,
    LISA_VFSUB_D,
    LISA_VFADDSUB_S,
    LISA_VFADDSUB_D,
    LISA_VFSUBADD_S,
    LISA_VFSUBADD_D,
    LISA_VFMUL_S,
    LISA_VFMUL_D,
    LISA_VFDIV_S,
    LISA_VFDIV_D,
    LISA_VFMAX_S,
    LISA_VFMAX_D,
    LISA_VFMIN_S,
    LISA_VFMIN_D,
    LISA_VFMAXA_S,
    LISA_VFMAXA_D,
    LISA_VFMINA_S,
    LISA_VFMINA_D,
    LISA_VFSCALEB_S,
    LISA_VFSCALEB_D,
    LISA_VFCVT_H_S,
    LISA_VFCVT_S_D,
    LISA_VFFINT_S_L,
    LISA_VFTINT_W_D,
    LISA_VFTINTRM_W_D,
    LISA_VFTINTRP_W_D,
    LISA_VFTINTRZ_W_D,
    LISA_VFTINTRNE_W_D,
    LISA_VHADD4_H_BU,
    LISA_VSHUF4_W,
    LISA_VSHUF2_D,
    LISA_AES128_ENC,
    LISA_AES128_DEC,
    LISA_AES192_ENC,
    LISA_AES192_DEC,
    LISA_AES256_ENC,
    LISA_AES256_DEC,
    LISA_AES_KG,
    LISA_AES_FR_ENC,
    LISA_AES_FR_DEC,
    LISA_AES_LR_ENC,
    LISA_AES_LR_DEC,
    LISA_AES_MC_ENC,
    LISA_AES_MC_DEC,
    LISA_AES_SB_ENC,
    LISA_AES_SB_DEC,
    LISA_AES_SR_ENC,
    LISA_AES_SR_DEC,
    LISA_MD5_MS,
    LISA_MD5_4R,
    LISA_SHA1_MS_1,
    LISA_SHA1_MS_2,
    LISA_SHA1_HASH_4R,
    LISA_SHA256_MS_1,
    LISA_SHA256_MS_2,
    LISA_SHA256_HASH_2R,
    LISA_SHA512_MS_1,
    LISA_SHA512_MS_2,
    LISA_SHA512_HASH_R_1,
    LISA_SHA512_HASH_R_2,
    LISA_VPMUL_W,
    LISA_VPMUL_D,
    LISA_VPMUH_W,
    LISA_VPMUH_D,
    LISA_VPMULACC_W,
    LISA_VPMULACC_D,
    LISA_VPMUHACC_W,
    LISA_VPMUHACC_D,
    LISA_VPMULWL_H_B,
    LISA_VPMULWL_W_H,
    LISA_VPMULWL_D_W,
    LISA_VPMULWL_Q_D,
    LISA_VPMULWH_H_B,
    LISA_VPMULWH_W_H,
    LISA_VPMULWH_D_W,
    LISA_VPMULWH_Q_D,
    LISA_VPMADDWL_H_B,
    LISA_VPMADDWL_W_H,
    LISA_VPMADDWL_D_W,
    LISA_VPMADDWL_Q_D,
    LISA_VPMADDWH_H_B,
    LISA_VPMADDWH_W_H,
    LISA_VPMADDWH_D_W,
    LISA_VPMADDWH_Q_D,
    LISA_VPDP2_Q_D,
    LISA_VPDP2ADD_Q_D,
    LISA_VCDP4_RE_D_H,
    LISA_VCDP4_IM_D_H,
    LISA_VCDP4ADD_RE_D_H,
    LISA_VCDP4ADD_IM_D_H,
    LISA_VCDP2_RE_Q_W,
    LISA_VCDP2_IM_Q_W,
    LISA_VCDP2ADD_RE_Q_W,
    LISA_VCDP2ADD_IM_Q_W,
    LISA_VSIGNSEL_W,
    LISA_VSIGNSEL_D,
    LISA_VSHUF_H,
    LISA_VSHUF_W,
    LISA_VSHUF_D,
    LISA_VSEQI_B,
    LISA_VSEQI_H,
    LISA_VSEQI_W,
    LISA_VSEQI_D,
    LISA_VSLEI_B,
    LISA_VSLEI_H,
    LISA_VSLEI_W,
    LISA_VSLEI_D,
    LISA_VSLEI_BU,
    LISA_VSLEI_HU,
    LISA_VSLEI_WU,
    LISA_VSLEI_DU,
    LISA_VSLTI_B,
    LISA_VSLTI_H,
    LISA_VSLTI_W,
    LISA_VSLTI_D,
    LISA_VSLTI_BU,
    LISA_VSLTI_HU,
    LISA_VSLTI_WU,
    LISA_VSLTI_DU,
    LISA_VADDI_BU,
    LISA_VADDI_HU,
    LISA_VADDI_WU,
    LISA_VADDI_DU,
    LISA_VSUBI_BU,
    LISA_VSUBI_HU,
    LISA_VSUBI_WU,
    LISA_VSUBI_DU,
    LISA_VBSLL_V,
    LISA_VBSRL_V,
    LISA_VMAXI_B,
    LISA_VMAXI_H,
    LISA_VMAXI_W,
    LISA_VMAXI_D,
    LISA_VMINI_B,
    LISA_VMINI_H,
    LISA_VMINI_W,
    LISA_VMINI_D,
    LISA_VMAXI_BU,
    LISA_VMAXI_HU,
    LISA_VMAXI_WU,
    LISA_VMAXI_DU,
    LISA_VMINI_BU,
    LISA_VMINI_HU,
    LISA_VMINI_WU,
    LISA_VMINI_DU,
    LISA_VRANDSIGNI_B,
    LISA_VRANDSIGNI_H,
    LISA_VRORSIGNI_B,
    LISA_VRORSIGNI_H,
    LISA_VFRSTPI_B,
    LISA_VFRSTPI_H,
    LISA_VCLRSTRI_V,
    LISA_VMEPATMSK_V,
    LISA_VCLO_B,
    LISA_VCLO_H,
    LISA_VCLO_W,
    LISA_VCLO_D,
    LISA_VCLZ_B,
    LISA_VCLZ_H,
    LISA_VCLZ_W,
    LISA_VCLZ_D,
    LISA_VPCNT_B,
    LISA_VPCNT_H,
    LISA_VPCNT_W,
    LISA_VPCNT_D,
    LISA_VNEG_B,
    LISA_VNEG_H,
    LISA_VNEG_W,
    LISA_VNEG_D,
    LISA_VMSKLTZ_B,
    LISA_VMSKLTZ_H,
    LISA_VMSKLTZ_W,
    LISA_VMSKLTZ_D,
    LISA_VMSKGEZ_B,
    LISA_VMSKNZ_B,
    LISA_VMSKCOPY_B,
    LISA_VMSKFILL_B,
    LISA_VFRSTM_B,
    LISA_VFRSTM_H,
    LISA_VSETEQZ_V,
    LISA_VSETNEZ_V,
    LISA_VSETANYEQZ_B,
    LISA_VSETANYEQZ_H,
    LISA_VSETANYEQZ_W,
    LISA_VSETANYEQZ_D,
    LISA_VSETALLNEZ_B,
    LISA_VSETALLNEZ_H,
    LISA_VSETALLNEZ_W,
    LISA_VSETALLNEZ_D,
    LISA_VFLOGB_S,
    LISA_VFLOGB_D,
    LISA_VFCLASS_S,
    LISA_VFCLASS_D,
    LISA_VFSQRT_S,
    LISA_VFSQRT_D,
    LISA_VFRECIP_S,
    LISA_VFRECIP_D,
    LISA_VFRSQRT_S,
    LISA_VFRSQRT_D,
    LISA_VFRINT_S,
    LISA_VFRINT_D,
    LISA_VFRINTRM_S,
    LISA_VFRINTRM_D,
    LISA_VFRINTRP_S,
    LISA_VFRINTRP_D,
    LISA_VFRINTRZ_S,
    LISA_VFRINTRZ_D,
    LISA_VFRINTRNE_S,
    LISA_VFRINTRNE_D,
    LISA_VEXTL_W_B,
    LISA_VEXTL_D_B,
    LISA_VEXTL_D_H,
    LISA_VEXTL_W_BU,
    LISA_VEXTL_D_BU,
    LISA_VEXTL_D_HU,
    LISA_VHADD8_D_BU,
    LISA_VHMINPOS_W_HU,
    LISA_VHMINPOS_D_HU,
    LISA_VHMINPOS_Q_HU,
    LISA_VCLRTAIL_B,
    LISA_VCLRTAIL_H,
    LISA_VFCVTL_S_H,
    LISA_VFCVTH_S_H,
    LISA_VFCVTL_D_S,
    LISA_VFCVTH_D_S,
    LISA_VFFINT_S_W,
    LISA_VFFINT_S_WU,
    LISA_VFFINT_D_L,
    LISA_VFFINT_D_LU,
    LISA_VFFINTL_D_W,
    LISA_VFFINTH_D_W,
    LISA_VFTINT_W_S,
    LISA_VFTINT_L_D,
    LISA_VFTINTRM_W_S,
    LISA_VFTINTRM_L_D,
    LISA_VFTINTRP_W_S,
    LISA_VFTINTRP_L_D,
    LISA_VFTINTRZ_W_S,
    LISA_VFTINTRZ_L_D,
    LISA_VFTINTRNE_W_S,
    LISA_VFTINTRNE_L_D,
    LISA_VFTINT_WU_S,
    LISA_VFTINT_LU_D,
    LISA_VFTINTRZ_WU_S,
    LISA_VFTINTRZ_LU_D,
    LISA_VFTINTL_L_S,
    LISA_VFTINTH_L_S,
    LISA_VFTINTRML_L_S,
    LISA_VFTINTRMH_L_S,
    LISA_VFTINTRPL_L_S,
    LISA_VFTINTRPH_L_S,
    LISA_VFTINTRZL_L_S,
    LISA_VFTINTRZH_L_S,
    LISA_VFTINTRNEL_L_S,
    LISA_VFTINTRNEH_L_S,
    LISA_VEXTH_H_B,
    LISA_VEXTH_W_H,
    LISA_VEXTH_D_W,
    LISA_VEXTH_Q_D,
    LISA_VEXTH_HU_BU,
    LISA_VEXTH_WU_HU,
    LISA_VEXTH_DU_WU,
    LISA_VEXTH_QU_DU,
    LISA_VREPLGR2VR_B,
    LISA_VREPLGR2VR_H,
    LISA_VREPLGR2VR_W,
    LISA_VREPLGR2VR_D,
    LISA_VROTRI_B,
    LISA_VROTRI_H,
    LISA_VROTRI_W,
    LISA_VROTRI_D,
    LISA_VSRLRI_B,
    LISA_VSRLRI_H,
    LISA_VSRLRI_W,
    LISA_VSRLRI_D,
    LISA_VSRARI_B,
    LISA_VSRARI_H,
    LISA_VSRARI_W,
    LISA_VSRARI_D,
    LISA_VINSGR2VR_B,
    LISA_VINSGR2VR_H,
    LISA_VINSGR2VR_W,
    LISA_VINSGR2VR_D,
    LISA_VPICKVE2GR_B,
    LISA_VPICKVE2GR_H,
    LISA_VPICKVE2GR_W,
    LISA_VPICKVE2GR_D,
    LISA_VPICKVE2GR_BU,
    LISA_VPICKVE2GR_HU,
    LISA_VPICKVE2GR_WU,
    LISA_VPICKVE2GR_DU,
    LISA_VREPLVEI_B,
    LISA_VREPLVEI_H,
    LISA_VREPLVEI_W,
    LISA_VREPLVEI_D,
    LISA_VEXTRCOLI_B,
    LISA_VEXTRCOLI_H,
    LISA_VEXTRCOLI_W,
    LISA_VEXTRCOLI_D,
    LISA_VSLLWIL_H_B,
    LISA_VSLLWIL_W_H,
    LISA_VSLLWIL_D_W,
    LISA_VEXTL_Q_D,
    LISA_VSLLWIL_HU_BU,
    LISA_VSLLWIL_WU_HU,
    LISA_VSLLWIL_DU_WU,
    LISA_VEXTL_QU_DU,
    LISA_VBITCLRI_B,
    LISA_VBITCLRI_H,
    LISA_VBITCLRI_W,
    LISA_VBITCLRI_D,
    LISA_VBITSETI_B,
    LISA_VBITSETI_H,
    LISA_VBITSETI_W,
    LISA_VBITSETI_D,
    LISA_VBITREVI_B,
    LISA_VBITREVI_H,
    LISA_VBITREVI_W,
    LISA_VBITREVI_D,
    LISA_VBSTRC12I_B,
    LISA_VBSTRC12I_H,
    LISA_VBSTRC12I_W,
    LISA_VBSTRC12I_D,
    LISA_VBSTRC21I_B,
    LISA_VBSTRC21I_H,
    LISA_VBSTRC21I_W,
    LISA_VBSTRC21I_D,
    LISA_VSAT_B,
    LISA_VSAT_H,
    LISA_VSAT_W,
    LISA_VSAT_D,
    LISA_VSAT_BU,
    LISA_VSAT_HU,
    LISA_VSAT_WU,
    LISA_VSAT_DU,
    LISA_VSLLI_B,
    LISA_VSLLI_H,
    LISA_VSLLI_W,
    LISA_VSLLI_D,
    LISA_VSRLI_B,
    LISA_VSRLI_H,
    LISA_VSRLI_W,
    LISA_VSRLI_D,
    LISA_VSRAI_B,
    LISA_VSRAI_H,
    LISA_VSRAI_W,
    LISA_VSRAI_D,
    LISA_VSRLRNENI_B_H,
    LISA_VSRLRNENI_H_W,
    LISA_VSRLRNENI_W_D,
    LISA_VSRLRNENI_D_Q,
    LISA_VSRARNENI_B_H,
    LISA_VSRARNENI_H_W,
    LISA_VSRARNENI_W_D,
    LISA_VSRARNENI_D_Q,
    LISA_VSRLNI_B_H,
    LISA_VSRLNI_H_W,
    LISA_VSRLNI_W_D,
    LISA_VSRLNI_D_Q,
    LISA_VSRLRNI_B_H,
    LISA_VSRLRNI_H_W,
    LISA_VSRLRNI_W_D,
    LISA_VSRLRNI_D_Q,
    LISA_VSSRLNI_B_H,
    LISA_VSSRLNI_H_W,
    LISA_VSSRLNI_W_D,
    LISA_VSSRLNI_D_Q,
    LISA_VSSRLNI_BU_H,
    LISA_VSSRLNI_HU_W,
    LISA_VSSRLNI_WU_D,
    LISA_VSSRLNI_DU_Q,
    LISA_VSSRLRNI_B_H,
    LISA_VSSRLRNI_H_W,
    LISA_VSSRLRNI_W_D,
    LISA_VSSRLRNI_D_Q,
    LISA_VSSRLRNI_BU_H,
    LISA_VSSRLRNI_HU_W,
    LISA_VSSRLRNI_WU_D,
    LISA_VSSRLRNI_DU_Q,
    LISA_VSRANI_B_H,
    LISA_VSRANI_H_W,
    LISA_VSRANI_W_D,
    LISA_VSRANI_D_Q,
    LISA_VSRARNI_B_H,
    LISA_VSRARNI_H_W,
    LISA_VSRARNI_W_D,
    LISA_VSRARNI_D_Q,
    LISA_VSSRANI_B_H,
    LISA_VSSRANI_H_W,
    LISA_VSSRANI_W_D,
    LISA_VSSRANI_D_Q,
    LISA_VSSRANI_BU_H,
    LISA_VSSRANI_HU_W,
    LISA_VSSRANI_WU_D,
    LISA_VSSRANI_DU_Q,
    LISA_VSSRARNI_B_H,
    LISA_VSSRARNI_H_W,
    LISA_VSSRARNI_W_D,
    LISA_VSSRARNI_D_Q,
    LISA_VSSRARNI_BU_H,
    LISA_VSSRARNI_HU_W,
    LISA_VSSRARNI_WU_D,
    LISA_VSSRARNI_DU_Q,
    LISA_VSSRLRNENI_B_H,
    LISA_VSSRLRNENI_H_W,
    LISA_VSSRLRNENI_W_D,
    LISA_VSSRLRNENI_D_Q,
    LISA_VSSRLRNENI_BU_H,
    LISA_VSSRLRNENI_HU_W,
    LISA_VSSRLRNENI_WU_D,
    LISA_VSSRLRNENI_DU_Q,
    LISA_VSSRARNENI_B_H,
    LISA_VSSRARNENI_H_W,
    LISA_VSSRARNENI_W_D,
    LISA_VSSRARNENI_D_Q,
    LISA_VSSRARNENI_BU_H,
    LISA_VSSRARNENI_HU_W,
    LISA_VSSRARNENI_WU_D,
    LISA_VSSRARNENI_DU_Q,
    LISA_VEXTRINS_D,
    LISA_VEXTRINS_W,
    LISA_VEXTRINS_H,
    LISA_VEXTRINS_B,
    LISA_VSHUF4I_B,
    LISA_VSHUF4I_H,
    LISA_VSHUF4I_W,
    LISA_VSHUF4I_D,
    LISA_VSHUFI1_B,
    LISA_VSHUFI2_B,
    LISA_VSHUFI3_B,
    LISA_VSHUFI4_B,
    LISA_VSHUFI1_H,
    LISA_VSHUFI2_H,
    LISA_VSELI_H,
    LISA_VSELI_W,
    LISA_VSELI_D,
    LISA_VBITSELI_B,
    LISA_VBITMVZI_B,
    LISA_VBITMVNZI_B,
    LISA_VANDI_B,
    LISA_VORI_B,
    LISA_VXORI_B,
    LISA_VNORI_B,
    LISA_VLDI,
    LISA_VPERMI_W,
    LISA_XVSEQ_B,
    LISA_XVSEQ_H,
    LISA_XVSEQ_W,
    LISA_XVSEQ_D,
    LISA_XVSLE_B,
    LISA_XVSLE_H,
    LISA_XVSLE_W,
    LISA_XVSLE_D,
    LISA_XVSLE_BU,
    LISA_XVSLE_HU,
    LISA_XVSLE_WU,
    LISA_XVSLE_DU,
    LISA_XVSLT_B,
    LISA_XVSLT_H,
    LISA_XVSLT_W,
    LISA_XVSLT_D,
    LISA_XVSLT_BU,
    LISA_XVSLT_HU,
    LISA_XVSLT_WU,
    LISA_XVSLT_DU,
    LISA_XVADD_B,
    LISA_XVADD_H,
    LISA_XVADD_W,
    LISA_XVADD_D,
    LISA_XVSUB_B,
    LISA_XVSUB_H,
    LISA_XVSUB_W,
    LISA_XVSUB_D,
    LISA_XVADDW_H_H_B,
    LISA_XVADDW_W_W_H,
    LISA_XVADDW_D_D_W,
    LISA_XVADDW_H_H_BU,
    LISA_XVADDW_W_W_HU,
    LISA_XVADDW_D_D_WU,
    LISA_XVSUBW_H_H_B,
    LISA_XVSUBW_W_W_H,
    LISA_XVSUBW_D_D_W,
    LISA_XVSUBW_H_H_BU,
    LISA_XVSUBW_W_W_HU,
    LISA_XVSUBW_D_D_WU,
    LISA_XVSADDW_H_H_B,
    LISA_XVSADDW_W_W_H,
    LISA_XVSADDW_D_D_W,
    LISA_XVSADDW_HU_HU_BU,
    LISA_XVSADDW_WU_WU_HU,
    LISA_XVSADDW_DU_DU_WU,
    LISA_XVSSUBW_H_H_B,
    LISA_XVSSUBW_W_W_H,
    LISA_XVSSUBW_D_D_W,
    LISA_XVSSUBW_HU_HU_BU,
    LISA_XVSSUBW_WU_WU_HU,
    LISA_XVSSUBW_DU_DU_WU,
    LISA_XVADDWEV_H_B,
    LISA_XVADDWEV_W_H,
    LISA_XVADDWEV_D_W,
    LISA_XVADDWEV_Q_D,
    LISA_XVSUBWEV_H_B,
    LISA_XVSUBWEV_W_H,
    LISA_XVSUBWEV_D_W,
    LISA_XVSUBWEV_Q_D,
    LISA_XVADDWOD_H_B,
    LISA_XVADDWOD_W_H,
    LISA_XVADDWOD_D_W,
    LISA_XVADDWOD_Q_D,
    LISA_XVSUBWOD_H_B,
    LISA_XVSUBWOD_W_H,
    LISA_XVSUBWOD_D_W,
    LISA_XVSUBWOD_Q_D,
    LISA_XVADDWL_H_B,
    LISA_XVADDWL_W_H,
    LISA_XVADDWL_D_W,
    LISA_XVADDWL_Q_D,
    LISA_XVSUBWL_H_B,
    LISA_XVSUBWL_W_H,
    LISA_XVSUBWL_D_W,
    LISA_XVSUBWL_Q_D,
    LISA_XVADDWH_H_B,
    LISA_XVADDWH_W_H,
    LISA_XVADDWH_D_W,
    LISA_XVADDWH_Q_D,
    LISA_XVSUBWH_H_B,
    LISA_XVSUBWH_W_H,
    LISA_XVSUBWH_D_W,
    LISA_XVSUBWH_Q_D,
    LISA_XVADDWEV_H_BU,
    LISA_XVADDWEV_W_HU,
    LISA_XVADDWEV_D_WU,
    LISA_XVADDWEV_Q_DU,
    LISA_XVSUBWEV_H_BU,
    LISA_XVSUBWEV_W_HU,
    LISA_XVSUBWEV_D_WU,
    LISA_XVSUBWEV_Q_DU,
    LISA_XVADDWOD_H_BU,
    LISA_XVADDWOD_W_HU,
    LISA_XVADDWOD_D_WU,
    LISA_XVADDWOD_Q_DU,
    LISA_XVSUBWOD_H_BU,
    LISA_XVSUBWOD_W_HU,
    LISA_XVSUBWOD_D_WU,
    LISA_XVSUBWOD_Q_DU,
    LISA_XVADDWL_H_BU,
    LISA_XVADDWL_W_HU,
    LISA_XVADDWL_D_WU,
    LISA_XVADDWL_Q_DU,
    LISA_XVSUBWL_H_BU,
    LISA_XVSUBWL_W_HU,
    LISA_XVSUBWL_D_WU,
    LISA_XVSUBWL_Q_DU,
    LISA_XVADDWH_H_BU,
    LISA_XVADDWH_W_HU,
    LISA_XVADDWH_D_WU,
    LISA_XVADDWH_Q_DU,
    LISA_XVSUBWH_H_BU,
    LISA_XVSUBWH_W_HU,
    LISA_XVSUBWH_D_WU,
    LISA_XVSUBWH_Q_DU,
    LISA_XVADDWEV_H_BU_B,
    LISA_XVADDWEV_W_HU_H,
    LISA_XVADDWEV_D_WU_W,
    LISA_XVADDWEV_Q_DU_D,
    LISA_XVADDWOD_H_BU_B,
    LISA_XVADDWOD_W_HU_H,
    LISA_XVADDWOD_D_WU_W,
    LISA_XVADDWOD_Q_DU_D,
    LISA_XVADDWL_H_BU_B,
    LISA_XVADDWL_W_HU_H,
    LISA_XVADDWL_D_WU_W,
    LISA_XVADDWL_Q_DU_D,
    LISA_XVADDWH_H_BU_B,
    LISA_XVADDWH_W_HU_H,
    LISA_XVADDWH_D_WU_W,
    LISA_XVADDWH_Q_DU_D,
    LISA_XVSADD_B,
    LISA_XVSADD_H,
    LISA_XVSADD_W,
    LISA_XVSADD_D,
    LISA_XVSSUB_B,
    LISA_XVSSUB_H,
    LISA_XVSSUB_W,
    LISA_XVSSUB_D,
    LISA_XVSADD_BU,
    LISA_XVSADD_HU,
    LISA_XVSADD_WU,
    LISA_XVSADD_DU,
    LISA_XVSSUB_BU,
    LISA_XVSSUB_HU,
    LISA_XVSSUB_WU,
    LISA_XVSSUB_DU,
    LISA_XVSSUB_BU_BU_B,
    LISA_XVSSUB_HU_HU_H,
    LISA_XVSSUB_WU_WU_W,
    LISA_XVSSUB_DU_DU_D,
    LISA_XVSSUB_BU_B_BU,
    LISA_XVSSUB_HU_H_HU,
    LISA_XVSSUB_WU_W_WU,
    LISA_XVSSUB_DU_D_DU,
    LISA_XVSSUB_B_BU_BU,
    LISA_XVSSUB_H_HU_HU,
    LISA_XVSSUB_W_WU_WU,
    LISA_XVSSUB_D_DU_DU,
    LISA_XVHADDW_H_B,
    LISA_XVHADDW_W_H,
    LISA_XVHADDW_D_W,
    LISA_XVHADDW_Q_D,
    LISA_XVHSUBW_H_B,
    LISA_XVHSUBW_W_H,
    LISA_XVHSUBW_D_W,
    LISA_XVHSUBW_Q_D,
    LISA_XVHADDW_HU_BU,
    LISA_XVHADDW_WU_HU,
    LISA_XVHADDW_DU_WU,
    LISA_XVHADDW_QU_DU,
    LISA_XVHSUBW_HU_BU,
    LISA_XVHSUBW_WU_HU,
    LISA_XVHSUBW_DU_WU,
    LISA_XVHSUBW_QU_DU,
    LISA_XVADDA_B,
    LISA_XVADDA_H,
    LISA_XVADDA_W,
    LISA_XVADDA_D,
    LISA_XVSADDA_B,
    LISA_XVSADDA_H,
    LISA_XVSADDA_W,
    LISA_XVSADDA_D,
    LISA_XVABSD_B,
    LISA_XVABSD_H,
    LISA_XVABSD_W,
    LISA_XVABSD_D,
    LISA_XVABSD_BU,
    LISA_XVABSD_HU,
    LISA_XVABSD_WU,
    LISA_XVABSD_DU,
    LISA_XVAVG_B,
    LISA_XVAVG_H,
    LISA_XVAVG_W,
    LISA_XVAVG_D,
    LISA_XVAVG_BU,
    LISA_XVAVG_HU,
    LISA_XVAVG_WU,
    LISA_XVAVG_DU,
    LISA_XVAVGR_B,
    LISA_XVAVGR_H,
    LISA_XVAVGR_W,
    LISA_XVAVGR_D,
    LISA_XVAVGR_BU,
    LISA_XVAVGR_HU,
    LISA_XVAVGR_WU,
    LISA_XVAVGR_DU,
    LISA_XVHALFD_B,
    LISA_XVHALFD_H,
    LISA_XVHALFD_W,
    LISA_XVHALFD_D,
    LISA_XVHALFD_BU,
    LISA_XVHALFD_HU,
    LISA_XVHALFD_WU,
    LISA_XVHALFD_DU,
    LISA_XVMAX_B,
    LISA_XVMAX_H,
    LISA_XVMAX_W,
    LISA_XVMAX_D,
    LISA_XVMIN_B,
    LISA_XVMIN_H,
    LISA_XVMIN_W,
    LISA_XVMIN_D,
    LISA_XVMAX_BU,
    LISA_XVMAX_HU,
    LISA_XVMAX_WU,
    LISA_XVMAX_DU,
    LISA_XVMIN_BU,
    LISA_XVMIN_HU,
    LISA_XVMIN_WU,
    LISA_XVMIN_DU,
    LISA_XVMAXA_B,
    LISA_XVMAXA_H,
    LISA_XVMAXA_W,
    LISA_XVMAXA_D,
    LISA_XVMINA_B,
    LISA_XVMINA_H,
    LISA_XVMINA_W,
    LISA_XVMINA_D,
    LISA_XVSADW_H_B,
    LISA_XVSADW_W_H,
    LISA_XVSADW_D_W,
    LISA_XVSADW_H_BU,
    LISA_XVSADW_W_HU,
    LISA_XVSADW_D_WU,
    LISA_XVACCSADW_H_B,
    LISA_XVACCSADW_W_H,
    LISA_XVACCSADW_D_W,
    LISA_XVACCSADW_H_BU,
    LISA_XVACCSADW_W_HU,
    LISA_XVACCSADW_D_WU,
    LISA_XVMUL_B,
    LISA_XVMUL_H,
    LISA_XVMUL_W,
    LISA_XVMUL_D,
    LISA_XVMUH_B,
    LISA_XVMUH_H,
    LISA_XVMUH_W,
    LISA_XVMUH_D,
    LISA_XVMUH_BU,
    LISA_XVMUH_HU,
    LISA_XVMUH_WU,
    LISA_XVMUH_DU,
    LISA_XVMUH_BU_B,
    LISA_XVMUH_HU_H,
    LISA_XVMUH_WU_W,
    LISA_XVMUH_DU_D,
    LISA_XVMULXW_H_B,
    LISA_XVMULXW_W_H,
    LISA_XVMULXW_D_W,
    LISA_XVMULXW_H_BU,
    LISA_XVMULXW_W_HU,
    LISA_XVMULXW_D_WU,
    LISA_XVMULWEV_H_B,
    LISA_XVMULWEV_W_H,
    LISA_XVMULWEV_D_W,
    LISA_XVMULWEV_Q_D,
    LISA_XVMULWOD_H_B,
    LISA_XVMULWOD_W_H,
    LISA_XVMULWOD_D_W,
    LISA_XVMULWOD_Q_D,
    LISA_XVMULWL_H_B,
    LISA_XVMULWL_W_H,
    LISA_XVMULWL_D_W,
    LISA_XVMULWL_Q_D,
    LISA_XVMULWH_H_B,
    LISA_XVMULWH_W_H,
    LISA_XVMULWH_D_W,
    LISA_XVMULWH_Q_D,
    LISA_XVMULWEV_H_BU,
    LISA_XVMULWEV_W_HU,
    LISA_XVMULWEV_D_WU,
    LISA_XVMULWEV_Q_DU,
    LISA_XVMULWOD_H_BU,
    LISA_XVMULWOD_W_HU,
    LISA_XVMULWOD_D_WU,
    LISA_XVMULWOD_Q_DU,
    LISA_XVMULWL_H_BU,
    LISA_XVMULWL_W_HU,
    LISA_XVMULWL_D_WU,
    LISA_XVMULWL_Q_DU,
    LISA_XVMULWH_H_BU,
    LISA_XVMULWH_W_HU,
    LISA_XVMULWH_D_WU,
    LISA_XVMULWH_Q_DU,
    LISA_XVMULWEV_H_BU_B,
    LISA_XVMULWEV_W_HU_H,
    LISA_XVMULWEV_D_WU_W,
    LISA_XVMULWEV_Q_DU_D,
    LISA_XVMULWOD_H_BU_B,
    LISA_XVMULWOD_W_HU_H,
    LISA_XVMULWOD_D_WU_W,
    LISA_XVMULWOD_Q_DU_D,
    LISA_XVMULWL_H_BU_B,
    LISA_XVMULWL_W_HU_H,
    LISA_XVMULWL_D_WU_W,
    LISA_XVMULWL_Q_DU_D,
    LISA_XVMULWH_H_BU_B,
    LISA_XVMULWH_W_HU_H,
    LISA_XVMULWH_D_WU_W,
    LISA_XVMULWH_Q_DU_D,
    LISA_XVMADD_B,
    LISA_XVMADD_H,
    LISA_XVMADD_W,
    LISA_XVMADD_D,
    LISA_XVMSUB_B,
    LISA_XVMSUB_H,
    LISA_XVMSUB_W,
    LISA_XVMSUB_D,
    LISA_XVMADDWEV_H_B,
    LISA_XVMADDWEV_W_H,
    LISA_XVMADDWEV_D_W,
    LISA_XVMADDWEV_Q_D,
    LISA_XVMADDWOD_H_B,
    LISA_XVMADDWOD_W_H,
    LISA_XVMADDWOD_D_W,
    LISA_XVMADDWOD_Q_D,
    LISA_XVMADDWL_H_B,
    LISA_XVMADDWL_W_H,
    LISA_XVMADDWL_D_W,
    LISA_XVMADDWL_Q_D,
    LISA_XVMADDWH_H_B,
    LISA_XVMADDWH_W_H,
    LISA_XVMADDWH_D_W,
    LISA_XVMADDWH_Q_D,
    LISA_XVMADDWEV_H_BU,
    LISA_XVMADDWEV_W_HU,
    LISA_XVMADDWEV_D_WU,
    LISA_XVMADDWEV_Q_DU,
    LISA_XVMADDWOD_H_BU,
    LISA_XVMADDWOD_W_HU,
    LISA_XVMADDWOD_D_WU,
    LISA_XVMADDWOD_Q_DU,
    LISA_XVMADDWL_H_BU,
    LISA_XVMADDWL_W_HU,
    LISA_XVMADDWL_D_WU,
    LISA_XVMADDWL_Q_DU,
    LISA_XVMADDWH_H_BU,
    LISA_XVMADDWH_W_HU,
    LISA_XVMADDWH_D_WU,
    LISA_XVMADDWH_Q_DU,
    LISA_XVMADDWEV_H_BU_B,
    LISA_XVMADDWEV_W_HU_H,
    LISA_XVMADDWEV_D_WU_W,
    LISA_XVMADDWEV_Q_DU_D,
    LISA_XVMADDWOD_H_BU_B,
    LISA_XVMADDWOD_W_HU_H,
    LISA_XVMADDWOD_D_WU_W,
    LISA_XVMADDWOD_Q_DU_D,
    LISA_XVMADDWL_H_BU_B,
    LISA_XVMADDWL_W_HU_H,
    LISA_XVMADDWL_D_WU_W,
    LISA_XVMADDWL_Q_DU_D,
    LISA_XVMADDWH_H_BU_B,
    LISA_XVMADDWH_W_HU_H,
    LISA_XVMADDWH_D_WU_W,
    LISA_XVMADDWH_Q_DU_D,
    LISA_XVDP2_H_B,
    LISA_XVDP2_W_H,
    LISA_XVDP2_D_W,
    LISA_XVDP2_Q_D,
    LISA_XVDP2_HU_BU,
    LISA_XVDP2_WU_HU,
    LISA_XVDP2_DU_WU,
    LISA_XVDP2_QU_DU,
    LISA_XVDP2_H_BU_B,
    LISA_XVDP2_W_HU_H,
    LISA_XVDP2_D_WU_W,
    LISA_XVDP2_Q_DU_D,
    LISA_XVDP2ADD_H_B,
    LISA_XVDP2ADD_W_H,
    LISA_XVDP2ADD_D_W,
    LISA_XVDP2ADD_Q_D,
    LISA_XVDP2ADD_H_BU,
    LISA_XVDP2ADD_W_HU,
    LISA_XVDP2ADD_D_WU,
    LISA_XVDP2ADD_Q_DU,
    LISA_XVDP2ADD_H_BU_B,
    LISA_XVDP2ADD_W_HU_H,
    LISA_XVDP2ADD_D_WU_W,
    LISA_XVDP2ADD_Q_DU_D,
    LISA_XVDP2SUB_H_B,
    LISA_XVDP2SUB_W_H,
    LISA_XVDP2SUB_D_W,
    LISA_XVDP2SUB_Q_D,
    LISA_XVDP2SUB_H_BU,
    LISA_XVDP2SUB_W_HU,
    LISA_XVDP2SUB_D_WU,
    LISA_XVDP2SUB_Q_DU,
    LISA_XVDP4_W_B,
    LISA_XVDP4_D_H,
    LISA_XVDP4_Q_W,
    LISA_XVDP4_W_BU,
    LISA_XVDP4_D_HU,
    LISA_XVDP4_Q_WU,
    LISA_XVDP4_W_BU_B,
    LISA_XVDP4_D_HU_H,
    LISA_XVDP4_Q_WU_W,
    LISA_XVDP4ADD_W_B,
    LISA_XVDP4ADD_D_H,
    LISA_XVDP4ADD_Q_W,
    LISA_XVDP4ADD_W_BU,
    LISA_XVDP4ADD_D_HU,
    LISA_XVDP4ADD_Q_WU,
    LISA_XVDP4ADD_W_BU_B,
    LISA_XVDP4ADD_D_HU_H,
    LISA_XVDP4ADD_Q_WU_W,
    LISA_XVDIV_B,
    LISA_XVDIV_H,
    LISA_XVDIV_W,
    LISA_XVDIV_D,
    LISA_XVMOD_B,
    LISA_XVMOD_H,
    LISA_XVMOD_W,
    LISA_XVMOD_D,
    LISA_XVDIV_BU,
    LISA_XVDIV_HU,
    LISA_XVDIV_WU,
    LISA_XVDIV_DU,
    LISA_XVMOD_BU,
    LISA_XVMOD_HU,
    LISA_XVMOD_WU,
    LISA_XVMOD_DU,
    LISA_XVSLL_B,
    LISA_XVSLL_H,
    LISA_XVSLL_W,
    LISA_XVSLL_D,
    LISA_XVSRL_B,
    LISA_XVSRL_H,
    LISA_XVSRL_W,
    LISA_XVSRL_D,
    LISA_XVSRA_B,
    LISA_XVSRA_H,
    LISA_XVSRA_W,
    LISA_XVSRA_D,
    LISA_XVROTR_B,
    LISA_XVROTR_H,
    LISA_XVROTR_W,
    LISA_XVROTR_D,
    LISA_XVSRLR_B,
    LISA_XVSRLR_H,
    LISA_XVSRLR_W,
    LISA_XVSRLR_D,
    LISA_XVSRAR_B,
    LISA_XVSRAR_H,
    LISA_XVSRAR_W,
    LISA_XVSRAR_D,
    LISA_XVSRLN_B_H,
    LISA_XVSRLN_H_W,
    LISA_XVSRLN_W_D,
    LISA_XVSRAN_B_H,
    LISA_XVSRAN_H_W,
    LISA_XVSRAN_W_D,
    LISA_XVSRLRN_B_H,
    LISA_XVSRLRN_H_W,
    LISA_XVSRLRN_W_D,
    LISA_XVSRARN_B_H,
    LISA_XVSRARN_H_W,
    LISA_XVSRARN_W_D,
    LISA_XVSSRLN_B_H,
    LISA_XVSSRLN_H_W,
    LISA_XVSSRLN_W_D,
    LISA_XVSSRAN_B_H,
    LISA_XVSSRAN_H_W,
    LISA_XVSSRAN_W_D,
    LISA_XVSSRLRN_B_H,
    LISA_XVSSRLRN_H_W,
    LISA_XVSSRLRN_W_D,
    LISA_XVSSRARN_B_H,
    LISA_XVSSRARN_H_W,
    LISA_XVSSRARN_W_D,
    LISA_XVSSRLN_BU_H,
    LISA_XVSSRLN_HU_W,
    LISA_XVSSRLN_WU_D,
    LISA_XVSSRAN_BU_H,
    LISA_XVSSRAN_HU_W,
    LISA_XVSSRAN_WU_D,
    LISA_XVSSRLRN_BU_H,
    LISA_XVSSRLRN_HU_W,
    LISA_XVSSRLRN_WU_D,
    LISA_XVSSRARN_BU_H,
    LISA_XVSSRARN_HU_W,
    LISA_XVSSRARN_WU_D,
    LISA_XVBITCLR_B,
    LISA_XVBITCLR_H,
    LISA_XVBITCLR_W,
    LISA_XVBITCLR_D,
    LISA_XVBITSET_B,
    LISA_XVBITSET_H,
    LISA_XVBITSET_W,
    LISA_XVBITSET_D,
    LISA_XVBITREV_B,
    LISA_XVBITREV_H,
    LISA_XVBITREV_W,
    LISA_XVBITREV_D,
    LISA_XVBSTRC12_B,
    LISA_XVBSTRC12_H,
    LISA_XVBSTRC12_W,
    LISA_XVBSTRC12_D,
    LISA_XVBSTRC21_B,
    LISA_XVBSTRC21_H,
    LISA_XVBSTRC21_W,
    LISA_XVBSTRC21_D,
    LISA_XVPACKEV_B,
    LISA_XVPACKEV_H,
    LISA_XVPACKEV_W,
    LISA_XVPACKEV_D,
    LISA_XVPACKOD_B,
    LISA_XVPACKOD_H,
    LISA_XVPACKOD_W,
    LISA_XVPACKOD_D,
    LISA_XVILVL_B,
    LISA_XVILVL_H,
    LISA_XVILVL_W,
    LISA_XVILVL_D,
    LISA_XVILVH_B,
    LISA_XVILVH_H,
    LISA_XVILVH_W,
    LISA_XVILVH_D,
    LISA_XVPICKEV_B,
    LISA_XVPICKEV_H,
    LISA_XVPICKEV_W,
    LISA_XVPICKEV_D,
    LISA_XVPICKOD_B,
    LISA_XVPICKOD_H,
    LISA_XVPICKOD_W,
    LISA_XVPICKOD_D,
    LISA_XVREPLVE_B,
    LISA_XVREPLVE_H,
    LISA_XVREPLVE_W,
    LISA_XVREPLVE_D,
    LISA_XVEXTRCOL_B,
    LISA_XVEXTRCOL_H,
    LISA_XVEXTRCOL_W,
    LISA_XVEXTRCOL_D,
    LISA_XVAND_V,
    LISA_XVOR_V,
    LISA_XVXOR_V,
    LISA_XVNOR_V,
    LISA_XVANDN_V,
    LISA_XVORN_V,
    LISA_XVRANDSIGN_B,
    LISA_XVRANDSIGN_H,
    LISA_XVRORSIGN_B,
    LISA_XVRORSIGN_H,
    LISA_XVFRSTP_B,
    LISA_XVFRSTP_H,
    LISA_XVCLRSTRR_V,
    LISA_XVCLRSTRV_V,
    LISA_XVADD_Q,
    LISA_XVSUB_Q,
    LISA_XVSIGNCOV_B,
    LISA_XVSIGNCOV_H,
    LISA_XVSIGNCOV_W,
    LISA_XVSIGNCOV_D,
    LISA_XVFADD_S,
    LISA_XVFADD_D,
    LISA_XVFSUB_S,
    LISA_XVFSUB_D,
    LISA_XVFADDSUB_S,
    LISA_XVFADDSUB_D,
    LISA_XVFSUBADD_S,
    LISA_XVFSUBADD_D,
    LISA_XVFMUL_S,
    LISA_XVFMUL_D,
    LISA_XVFDIV_S,
    LISA_XVFDIV_D,
    LISA_XVFMAX_S,
    LISA_XVFMAX_D,
    LISA_XVFMIN_S,
    LISA_XVFMIN_D,
    LISA_XVFMAXA_S,
    LISA_XVFMAXA_D,
    LISA_XVFMINA_S,
    LISA_XVFMINA_D,
    LISA_XVFSCALEB_S,
    LISA_XVFSCALEB_D,
    LISA_XVFCVT_H_S,
    LISA_XVFCVT_S_D,
    LISA_XVFFINT_S_L,
    LISA_XVFTINT_W_D,
    LISA_XVFTINTRM_W_D,
    LISA_XVFTINTRP_W_D,
    LISA_XVFTINTRZ_W_D,
    LISA_XVFTINTRNE_W_D,
    LISA_XVHADD4_H_BU,
    LISA_XVSHUF4_W,
    LISA_XVSHUF2_D,
    LISA_XVPMUL_W,
    LISA_XVPMUL_D,
    LISA_XVPMUH_W,
    LISA_XVPMUH_D,
    LISA_XVPMULACC_W,
    LISA_XVPMULACC_D,
    LISA_XVPMUHACC_W,
    LISA_XVPMUHACC_D,
    LISA_XVPMULWL_H_B,
    LISA_XVPMULWL_W_H,
    LISA_XVPMULWL_D_W,
    LISA_XVPMULWL_Q_D,
    LISA_XVPMULWH_H_B,
    LISA_XVPMULWH_W_H,
    LISA_XVPMULWH_D_W,
    LISA_XVPMULWH_Q_D,
    LISA_XVPMADDWL_H_B,
    LISA_XVPMADDWL_W_H,
    LISA_XVPMADDWL_D_W,
    LISA_XVPMADDWL_Q_D,
    LISA_XVPMADDWH_H_B,
    LISA_XVPMADDWH_W_H,
    LISA_XVPMADDWH_D_W,
    LISA_XVPMADDWH_Q_D,
    LISA_XVPDP2_Q_D,
    LISA_XVPDP2ADD_Q_D,
    LISA_XVCDP4_RE_D_H,
    LISA_XVCDP4_IM_D_H,
    LISA_XVCDP4ADD_RE_D_H,
    LISA_XVCDP4ADD_IM_D_H,
    LISA_XVCDP2_RE_Q_W,
    LISA_XVCDP2_IM_Q_W,
    LISA_XVCDP2ADD_RE_Q_W,
    LISA_XVCDP2ADD_IM_Q_W,
    LISA_XVSIGNSEL_W,
    LISA_XVSIGNSEL_D,
    LISA_XVSHUF_H,
    LISA_XVSHUF_W,
    LISA_XVSHUF_D,
    LISA_XVPERM_W,
    LISA_XVSEQI_B,
    LISA_XVSEQI_H,
    LISA_XVSEQI_W,
    LISA_XVSEQI_D,
    LISA_XVSLEI_B,
    LISA_XVSLEI_H,
    LISA_XVSLEI_W,
    LISA_XVSLEI_D,
    LISA_XVSLEI_BU,
    LISA_XVSLEI_HU,
    LISA_XVSLEI_WU,
    LISA_XVSLEI_DU,
    LISA_XVSLTI_B,
    LISA_XVSLTI_H,
    LISA_XVSLTI_W,
    LISA_XVSLTI_D,
    LISA_XVSLTI_BU,
    LISA_XVSLTI_HU,
    LISA_XVSLTI_WU,
    LISA_XVSLTI_DU,
    LISA_XVADDI_BU,
    LISA_XVADDI_HU,
    LISA_XVADDI_WU,
    LISA_XVADDI_DU,
    LISA_XVSUBI_BU,
    LISA_XVSUBI_HU,
    LISA_XVSUBI_WU,
    LISA_XVSUBI_DU,
    LISA_XVBSLL_V,
    LISA_XVBSRL_V,
    LISA_XVMAXI_B,
    LISA_XVMAXI_H,
    LISA_XVMAXI_W,
    LISA_XVMAXI_D,
    LISA_XVMINI_B,
    LISA_XVMINI_H,
    LISA_XVMINI_W,
    LISA_XVMINI_D,
    LISA_XVMAXI_BU,
    LISA_XVMAXI_HU,
    LISA_XVMAXI_WU,
    LISA_XVMAXI_DU,
    LISA_XVMINI_BU,
    LISA_XVMINI_HU,
    LISA_XVMINI_WU,
    LISA_XVMINI_DU,
    LISA_XVRANDSIGNI_B,
    LISA_XVRANDSIGNI_H,
    LISA_XVRORSIGNI_B,
    LISA_XVRORSIGNI_H,
    LISA_XVFRSTPI_B,
    LISA_XVFRSTPI_H,
    LISA_XVCLRSTRI_V,
    LISA_XVMEPATMSK_V,
    LISA_XVCLO_B,
    LISA_XVCLO_H,
    LISA_XVCLO_W,
    LISA_XVCLO_D,
    LISA_XVCLZ_B,
    LISA_XVCLZ_H,
    LISA_XVCLZ_W,
    LISA_XVCLZ_D,
    LISA_XVPCNT_B,
    LISA_XVPCNT_H,
    LISA_XVPCNT_W,
    LISA_XVPCNT_D,
    LISA_XVNEG_B,
    LISA_XVNEG_H,
    LISA_XVNEG_W,
    LISA_XVNEG_D,
    LISA_XVMSKLTZ_B,
    LISA_XVMSKLTZ_H,
    LISA_XVMSKLTZ_W,
    LISA_XVMSKLTZ_D,
    LISA_XVMSKGEZ_B,
    LISA_XVMSKNZ_B,
    LISA_XVMSKCOPY_B,
    LISA_XVMSKFILL_B,
    LISA_XVFRSTM_B,
    LISA_XVFRSTM_H,
    LISA_XVSETEQZ_V,
    LISA_XVSETNEZ_V,
    LISA_XVSETANYEQZ_B,
    LISA_XVSETANYEQZ_H,
    LISA_XVSETANYEQZ_W,
    LISA_XVSETANYEQZ_D,
    LISA_XVSETALLNEZ_B,
    LISA_XVSETALLNEZ_H,
    LISA_XVSETALLNEZ_W,
    LISA_XVSETALLNEZ_D,
    LISA_XVFLOGB_S,
    LISA_XVFLOGB_D,
    LISA_XVFCLASS_S,
    LISA_XVFCLASS_D,
    LISA_XVFSQRT_S,
    LISA_XVFSQRT_D,
    LISA_XVFRECIP_S,
    LISA_XVFRECIP_D,
    LISA_XVFRSQRT_S,
    LISA_XVFRSQRT_D,
    LISA_XVFRINT_S,
    LISA_XVFRINT_D,
    LISA_XVFRINTRM_S,
    LISA_XVFRINTRM_D,
    LISA_XVFRINTRP_S,
    LISA_XVFRINTRP_D,
    LISA_XVFRINTRZ_S,
    LISA_XVFRINTRZ_D,
    LISA_XVFRINTRNE_S,
    LISA_XVFRINTRNE_D,
    LISA_XVEXTL_W_B,
    LISA_XVEXTL_D_B,
    LISA_XVEXTL_D_H,
    LISA_XVEXTL_W_BU,
    LISA_XVEXTL_D_BU,
    LISA_XVEXTL_D_HU,
    LISA_XVHADD8_D_BU,
    LISA_XVHMINPOS_W_HU,
    LISA_XVHMINPOS_D_HU,
    LISA_XVHMINPOS_Q_HU,
    LISA_XVCLRTAIL_B,
    LISA_XVCLRTAIL_H,
    LISA_XVFCVTL_S_H,
    LISA_XVFCVTH_S_H,
    LISA_XVFCVTL_D_S,
    LISA_XVFCVTH_D_S,
    LISA_XVFFINT_S_W,
    LISA_XVFFINT_S_WU,
    LISA_XVFFINT_D_L,
    LISA_XVFFINT_D_LU,
    LISA_XVFFINTL_D_W,
    LISA_XVFFINTH_D_W,
    LISA_XVFTINT_W_S,
    LISA_XVFTINT_L_D,
    LISA_XVFTINTRM_W_S,
    LISA_XVFTINTRM_L_D,
    LISA_XVFTINTRP_W_S,
    LISA_XVFTINTRP_L_D,
    LISA_XVFTINTRZ_W_S,
    LISA_XVFTINTRZ_L_D,
    LISA_XVFTINTRNE_W_S,
    LISA_XVFTINTRNE_L_D,
    LISA_XVFTINT_WU_S,
    LISA_XVFTINT_LU_D,
    LISA_XVFTINTRZ_WU_S,
    LISA_XVFTINTRZ_LU_D,
    LISA_XVFTINTL_L_S,
    LISA_XVFTINTH_L_S,
    LISA_XVFTINTRML_L_S,
    LISA_XVFTINTRMH_L_S,
    LISA_XVFTINTRPL_L_S,
    LISA_XVFTINTRPH_L_S,
    LISA_XVFTINTRZL_L_S,
    LISA_XVFTINTRZH_L_S,
    LISA_XVFTINTRNEL_L_S,
    LISA_XVFTINTRNEH_L_S,
    LISA_XVEXTH_H_B,
    LISA_XVEXTH_W_H,
    LISA_XVEXTH_D_W,
    LISA_XVEXTH_Q_D,
    LISA_XVEXTH_HU_BU,
    LISA_XVEXTH_WU_HU,
    LISA_XVEXTH_DU_WU,
    LISA_XVEXTH_QU_DU,
    LISA_XVREPLGR2VR_B,
    LISA_XVREPLGR2VR_H,
    LISA_XVREPLGR2VR_W,
    LISA_XVREPLGR2VR_D,
    LISA_VEXT2XV_H_B,
    LISA_VEXT2XV_W_B,
    LISA_VEXT2XV_D_B,
    LISA_VEXT2XV_W_H,
    LISA_VEXT2XV_D_H,
    LISA_VEXT2XV_D_W,
    LISA_VEXT2XV_HU_BU,
    LISA_VEXT2XV_WU_BU,
    LISA_VEXT2XV_DU_BU,
    LISA_VEXT2XV_WU_HU,
    LISA_VEXT2XV_DU_HU,
    LISA_VEXT2XV_DU_WU,
    LISA_XVHSELI_D,
    LISA_XVROTRI_B,
    LISA_XVROTRI_H,
    LISA_XVROTRI_W,
    LISA_XVROTRI_D,
    LISA_XVSRLRI_B,
    LISA_XVSRLRI_H,
    LISA_XVSRLRI_W,
    LISA_XVSRLRI_D,
    LISA_XVSRARI_B,
    LISA_XVSRARI_H,
    LISA_XVSRARI_W,
    LISA_XVSRARI_D,
    LISA_XVINSGR2VR_W,
    LISA_XVINSGR2VR_D,
    LISA_XVPICKVE2GR_W,
    LISA_XVPICKVE2GR_D,
    LISA_XVPICKVE2GR_WU,
    LISA_XVPICKVE2GR_DU,
    LISA_XVREPL128VEI_B,
    LISA_XVREPL128VEI_H,
    LISA_XVREPL128VEI_W,
    LISA_XVREPL128VEI_D,
    LISA_XVEXTRCOLI_B,
    LISA_XVEXTRCOLI_H,
    LISA_XVEXTRCOLI_W,
    LISA_XVEXTRCOLI_D,
    LISA_XVINSVE0_W,
    LISA_XVINSVE0_D,
    LISA_XVPICKVE_W,
    LISA_XVPICKVE_D,
    LISA_XVREPLVE0_B,
    LISA_XVREPLVE0_H,
    LISA_XVREPLVE0_W,
    LISA_XVREPLVE0_D,
    LISA_XVREPLVE0_Q,
    LISA_XVSLLWIL_H_B,
    LISA_XVSLLWIL_W_H,
    LISA_XVSLLWIL_D_W,
    LISA_XVEXTL_Q_D,
    LISA_XVSLLWIL_HU_BU,
    LISA_XVSLLWIL_WU_HU,
    LISA_XVSLLWIL_DU_WU,
    LISA_XVEXTL_QU_DU,
    LISA_XVBITCLRI_B,
    LISA_XVBITCLRI_H,
    LISA_XVBITCLRI_W,
    LISA_XVBITCLRI_D,
    LISA_XVBITSETI_B,
    LISA_XVBITSETI_H,
    LISA_XVBITSETI_W,
    LISA_XVBITSETI_D,
    LISA_XVBITREVI_B,
    LISA_XVBITREVI_H,
    LISA_XVBITREVI_W,
    LISA_XVBITREVI_D,
    LISA_XVBSTRC12I_B,
    LISA_XVBSTRC12I_H,
    LISA_XVBSTRC12I_W,
    LISA_XVBSTRC12I_D,
    LISA_XVBSTRC21I_B,
    LISA_XVBSTRC21I_H,
    LISA_XVBSTRC21I_W,
    LISA_XVBSTRC21I_D,
    LISA_XVSAT_B,
    LISA_XVSAT_H,
    LISA_XVSAT_W,
    LISA_XVSAT_D,
    LISA_XVSAT_BU,
    LISA_XVSAT_HU,
    LISA_XVSAT_WU,
    LISA_XVSAT_DU,
    LISA_XVSLLI_B,
    LISA_XVSLLI_H,
    LISA_XVSLLI_W,
    LISA_XVSLLI_D,
    LISA_XVSRLI_B,
    LISA_XVSRLI_H,
    LISA_XVSRLI_W,
    LISA_XVSRLI_D,
    LISA_XVSRAI_B,
    LISA_XVSRAI_H,
    LISA_XVSRAI_W,
    LISA_XVSRAI_D,
    LISA_XVSRLRNENI_B_H,
    LISA_XVSRLRNENI_H_W,
    LISA_XVSRLRNENI_W_D,
    LISA_XVSRLRNENI_D_Q,
    LISA_XVSRARNENI_B_H,
    LISA_XVSRARNENI_H_W,
    LISA_XVSRARNENI_W_D,
    LISA_XVSRARNENI_D_Q,
    LISA_XVSRLNI_B_H,
    LISA_XVSRLNI_H_W,
    LISA_XVSRLNI_W_D,
    LISA_XVSRLNI_D_Q,
    LISA_XVSRLRNI_B_H,
    LISA_XVSRLRNI_H_W,
    LISA_XVSRLRNI_W_D,
    LISA_XVSRLRNI_D_Q,
    LISA_XVSSRLNI_B_H,
    LISA_XVSSRLNI_H_W,
    LISA_XVSSRLNI_W_D,
    LISA_XVSSRLNI_D_Q,
    LISA_XVSSRLNI_BU_H,
    LISA_XVSSRLNI_HU_W,
    LISA_XVSSRLNI_WU_D,
    LISA_XVSSRLNI_DU_Q,
    LISA_XVSSRLRNI_B_H,
    LISA_XVSSRLRNI_H_W,
    LISA_XVSSRLRNI_W_D,
    LISA_XVSSRLRNI_D_Q,
    LISA_XVSSRLRNI_BU_H,
    LISA_XVSSRLRNI_HU_W,
    LISA_XVSSRLRNI_WU_D,
    LISA_XVSSRLRNI_DU_Q,
    LISA_XVSRANI_B_H,
    LISA_XVSRANI_H_W,
    LISA_XVSRANI_W_D,
    LISA_XVSRANI_D_Q,
    LISA_XVSRARNI_B_H,
    LISA_XVSRARNI_H_W,
    LISA_XVSRARNI_W_D,
    LISA_XVSRARNI_D_Q,
    LISA_XVSSRANI_B_H,
    LISA_XVSSRANI_H_W,
    LISA_XVSSRANI_W_D,
    LISA_XVSSRANI_D_Q,
    LISA_XVSSRANI_BU_H,
    LISA_XVSSRANI_HU_W,
    LISA_XVSSRANI_WU_D,
    LISA_XVSSRANI_DU_Q,
    LISA_XVSSRARNI_B_H,
    LISA_XVSSRARNI_H_W,
    LISA_XVSSRARNI_W_D,
    LISA_XVSSRARNI_D_Q,
    LISA_XVSSRARNI_BU_H,
    LISA_XVSSRARNI_HU_W,
    LISA_XVSSRARNI_WU_D,
    LISA_XVSSRARNI_DU_Q,
    LISA_XVSSRLRNENI_B_H,
    LISA_XVSSRLRNENI_H_W,
    LISA_XVSSRLRNENI_W_D,
    LISA_XVSSRLRNENI_D_Q,
    LISA_XVSSRLRNENI_BU_H,
    LISA_XVSSRLRNENI_HU_W,
    LISA_XVSSRLRNENI_WU_D,
    LISA_XVSSRLRNENI_DU_Q,
    LISA_XVSSRARNENI_B_H,
    LISA_XVSSRARNENI_H_W,
    LISA_XVSSRARNENI_W_D,
    LISA_XVSSRARNENI_D_Q,
    LISA_XVSSRARNENI_BU_H,
    LISA_XVSSRARNENI_HU_W,
    LISA_XVSSRARNENI_WU_D,
    LISA_XVSSRARNENI_DU_Q,
    LISA_XVEXTRINS_D,
    LISA_XVEXTRINS_W,
    LISA_XVEXTRINS_H,
    LISA_XVEXTRINS_B,
    LISA_XVSHUF4I_B,
    LISA_XVSHUF4I_H,
    LISA_XVSHUF4I_W,
    LISA_XVSHUF4I_D,
    LISA_XVSHUFI1_B,
    LISA_XVSHUFI2_B,
    LISA_XVSHUFI3_B,
    LISA_XVSHUFI4_B,
    LISA_XVSHUFI1_H,
    LISA_XVSHUFI2_H,
    LISA_XVSELI_H,
    LISA_XVSELI_W,
    LISA_XVSELI_D,
    LISA_XVBITSELI_B,
    LISA_XVBITMVZI_B,
    LISA_XVBITMVNZI_B,
    LISA_XVANDI_B,
    LISA_XVORI_B,
    LISA_XVXORI_B,
    LISA_XVNORI_B,
    LISA_XVLDI,
    LISA_XVPERMI_W,
    LISA_XVPERMI_D,
    LISA_XVPERMI_Q,
    LISA_ENDING,
} IR2_OPCODE;

/* IR2_OPND_TYPE */
typedef enum {
    IR2_OPND_NONE = 80,
    IR2_OPND_GPR,
    IR2_OPND_SCR,
    IR2_OPND_FPR,
    IR2_OPND_FCSR,      /* immediate used in cfc1/ctc1 */
    IR2_OPND_CC,        /* condition code, FCC field in FCSR */
    IR2_OPND_IMM,       /* immediate */
    IR2_OPND_LABEL,
    IR2_OPND_MEM,       /* middle type. not used as backend */
} IR2_OPND_TYPE;

/* Operand Bit Field Type */
typedef enum {
    OPD_INVALID = 0,
    FCC_CA,
    FCC_CD,
    FCC_CJ,
    IMM_CODE,
    IMM_CONDF,
    IMM_CONDH,
    IMM_CONDL,
    OPD_CSR,
    FPR_FA,
    OPD_FCSRH,
    OPD_FCSRL,
    FPR_FD,
    FPR_FJ,
    FPR_FK,
    IMM_HINTL,
    IMM_HINTS,
    IMM_I13,
    IMM_IDXS,
    IMM_IDXM,
    IMM_IDXL,
    IMM_IDXLL,
    IMM_LEVEL,
    IMM_LSBD,
    IMM_LSBW,
    IMM_MODE,
    IMM_MSBD,
    IMM_MSBW,
    IMM_OFFS,
    IMM_OFFL,
    IMM_OFFLL,
    OPD_OPCACHE,
    IMM_OPX86,
    IMM_PTR,
    GPR_RD,
    GPR_RJ,
    GPR_RK,
    IMM_SA2,
    IMM_SA3,
    SCR_SD,
    IMM_SEQ,
    IMM_SI10,
    IMM_SI11,
    IMM_SI12,
    IMM_SI14,
    IMM_SI16,
    IMM_SI20,
    IMM_SI5,
    IMM_SI8,
    IMM_SI9,
    SCR_SJ,
    IMM_UI1,
    IMM_UI12,
    IMM_UI2,
    IMM_UI3,
    IMM_UI4,
    IMM_UI5H,
    IMM_UI5L,
    IMM_UI6,
    IMM_UI7,
    IMM_UI8,
    FPR_VA,
    FPR_VD,
    FPR_VJ,
    FPR_VK,
    FPR_XA,
    FPR_XD,
    FPR_XJ,
    FPR_XK,
} GM_OPERAND_TYPE;

extern const IR2_OPND_TYPE ir2_opnd_type_table[];

/* Opcode Format */
typedef struct bit_range {
    int start;
    int end;
} bit_range;

typedef struct {
    GM_OPERAND_TYPE type;
    bit_range bit_range_0;
    bit_range bit_range_1; /* some branch offset is splited into 2 parts */
} GM_OPERAND_PLACE_RELATION;

typedef struct {
    IR2_OPCODE op;
    uint32_t opcode;
    GM_OPERAND_TYPE opnd[4];
} GM_LA_OPCODE_FORMAT;

extern const GM_OPERAND_PLACE_RELATION bit_field_table[];

extern const GM_LA_OPCODE_FORMAT lisa_format_table[];

/* Reg Access Type */
typedef enum {
    REG_ACCESS_INVALID,
    GPR_READ,
    GPR_WRITE,
    GPR_READWRITE,
    FPR_READ,
    FPR_WRITE,
    FPR_READWRITE,
    FCSR_READ,
    FCSR_WRITE,
    FCC_READ,
    FCC_WRITE,
    REG_ACCESS_END,
} LISA_REG_ACCESS_TYPE;

typedef struct {
    IR2_OPCODE op;
    LISA_REG_ACCESS_TYPE opnd[4];
    bool valid; /* FIXME：valid用于表示该entry是否有效，等到表格全部完成时，取消该字段 */
} LISA_REG_ACCESS_FORMAT;

/* 定义对指令中每个操作数，是否读写寄存器 */
extern const LISA_REG_ACCESS_FORMAT lisa_reg_access_table[];

#endif
